mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Detect if relative paths are being hardcoded into gnustep-base or not. Only automatically reconfigure at install time if we are using relative paths
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27530 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
130e8f5592
commit
667eef5757
5 changed files with 84 additions and 1 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2009-01-06 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* configure.ac: Detect relative paths in the paths that we
|
||||
hardcode into gnustep-base, and set the
|
||||
GNUSTEP_BASE_RELATIVE_PATHS variable if any is found.
|
||||
* configure: Regenerated.
|
||||
* config.mak.in: Added GNUSTEP_BASE_RELATIVE_PATHS.
|
||||
* Makefile.postamble: Only do the automatic reconfiguration at
|
||||
install time if GNUSTEP_BASE_RELATIVE_PATHS is set. Make the
|
||||
message printed when were reconfigure more prominent.
|
||||
|
||||
2009-01-05 17:58-EST Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Source/NSBundle.m: Use CFBundleExecutable if NSExecutable isn't
|
||||
|
|
|
@ -38,12 +38,28 @@
|
|||
# to the location of the gnustep config file or the base library ... usually
|
||||
# the case on ms-windows, sometimes the case on unix).
|
||||
# If they don't match, print an error message and reconfigure.
|
||||
#
|
||||
# Important: please note that this is a ugly hack. At install time,
|
||||
# we are most likely running as root/superuser. So, if we recompile
|
||||
# part of gnustep-base as root/superuser, we create
|
||||
# root/superuser-owned files, which means when you go back to being a
|
||||
# normal user, you can't recompile and you can't even make clean. You
|
||||
# have to manually become root again, make a distclean, and start again.
|
||||
#
|
||||
# So we avoid this 'reconfiguration at install time' whenever
|
||||
# possible. In fact maybe we should just print an error here, and
|
||||
# not try to reconfigure.
|
||||
#
|
||||
ifeq ($(GNUSTEP_BASE_RELATIVE_PATHS), yes)
|
||||
before-all::
|
||||
$(ECHO_NOTHING)if [ "$(GNUSTEP_BASE_DOMAIN)" != "$(GNUSTEP_INSTALLATION_DOMAIN)" ]; \
|
||||
then \
|
||||
echo " "; \
|
||||
echo "GNUSTEP_INSTALLATION_DOMAIN does not match GNUSTEP_BASE_DOMAIN; reconfiguring"; \
|
||||
echo " "; \
|
||||
GNUSTEP_INSTALLATION_DOMAIN=$(GNUSTEP_INSTALLATION_DOMAIN) ./config.status --recheck; \
|
||||
fi$(END_ECHO)
|
||||
endif
|
||||
|
||||
# Things to do after compiling
|
||||
# after-all::
|
||||
|
|
|
@ -32,6 +32,7 @@ endif
|
|||
GNUSTEP_BASE_HAVE_LIBXML=@HAVE_LIBXML@
|
||||
GNUSTEP_BASE_HAVE_GNUTLS=@HAVE_GNUTLS@
|
||||
GNUSTEP_BASE_DOMAIN=@GNUSTEP_BASE_DOMAIN@
|
||||
GNUSTEP_BASE_RELATIVE_PATHS=@GNUSTEP_BASE_RELATIVE_PATHS@
|
||||
|
||||
# Default to building only -baseadd
|
||||
# on non *-gnu-* library combos
|
||||
|
|
31
configure
vendored
31
configure
vendored
|
@ -310,7 +310,7 @@ ac_includes_default="\
|
|||
#endif"
|
||||
|
||||
ac_subdirs_all="$ac_subdirs_all Source/mframe SSL"
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUSTEP_BASE_DOMAIN CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP WHOAMI EGREP GS_WORDS_BIGENDIAN GS_SINT8 GS_UINT8 ac_cv_sizeof_short ac_cv_sizeof_int ac_cv_sizeof_long ac_cv_sizeof_long_long ac_cv_sizeof_float ac_cv_sizeof_double ac_cv_sizeof_voidp GS_SADDR GS_UADDR GS_SINT16 GS_UINT16 GS_SINT32 GS_UINT32 GS_SINT64 GS_UINT64 GS_HAVE_I64 GS_SINT128 GS_UINT128 GS_HAVE_I128 GS_FLT32 GS_FLT64 _GSC_S_SHT _GSC_S_INT _GSC_S_LNG _GSC_S_LNG_LNG DYNAMIC_LINKER NX_CONST_STRING_OBJCFLAGS NX_CONST_STRING_CLASS HAVE_OBJC_SYNC_ENTER HAVE_PTHREAD_H HAVE_PTS_STREAM_MODULES INCLUDE_STDINT DEFINE_INT8_T DEFINE_UINT8_T DEFINE_INT16_T DEFINE_UINT16_T DEFINE_INT32_T DEFINE_UINT32_T DEFINE_INT64_T DEFINE_UINT64_T DEFINE_INTPTR_T DEFINE_UINTPTR_T USE_ZLIB HAVE_INET_PTON HAVE_INET_NTOP GS_PASS_ARGUMENTS GS_FAKE_MAIN WITH_FFI XML2_CONFIG XML_CONFIG XML_CFLAGS XML_LIBS HAVE_LIBXSLT HAVE_LIBXML TLS_CONFIG TLS_CFLAGS TLS_LIBS HAVE_GNUTLS HAVE_MDNS USE_GMP INCLUDE_FLAGS LDIR_FLAGS subdirs VERSION MAJOR_VERSION MINOR_VERSION SUBMINOR_VERSION GCC_VERSION LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUSTEP_BASE_DOMAIN GNUSTEP_BASE_RELATIVE_PATHS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP WHOAMI EGREP GS_WORDS_BIGENDIAN GS_SINT8 GS_UINT8 ac_cv_sizeof_short ac_cv_sizeof_int ac_cv_sizeof_long ac_cv_sizeof_long_long ac_cv_sizeof_float ac_cv_sizeof_double ac_cv_sizeof_voidp GS_SADDR GS_UADDR GS_SINT16 GS_UINT16 GS_SINT32 GS_UINT32 GS_SINT64 GS_UINT64 GS_HAVE_I64 GS_SINT128 GS_UINT128 GS_HAVE_I128 GS_FLT32 GS_FLT64 _GSC_S_SHT _GSC_S_INT _GSC_S_LNG _GSC_S_LNG_LNG DYNAMIC_LINKER NX_CONST_STRING_OBJCFLAGS NX_CONST_STRING_CLASS HAVE_OBJC_SYNC_ENTER HAVE_PTHREAD_H HAVE_PTS_STREAM_MODULES INCLUDE_STDINT DEFINE_INT8_T DEFINE_UINT8_T DEFINE_INT16_T DEFINE_UINT16_T DEFINE_INT32_T DEFINE_UINT32_T DEFINE_INT64_T DEFINE_UINT64_T DEFINE_INTPTR_T DEFINE_UINTPTR_T USE_ZLIB HAVE_INET_PTON HAVE_INET_NTOP GS_PASS_ARGUMENTS GS_FAKE_MAIN WITH_FFI XML2_CONFIG XML_CONFIG XML_CFLAGS XML_LIBS HAVE_LIBXSLT HAVE_LIBXML TLS_CONFIG TLS_CFLAGS TLS_LIBS HAVE_GNUTLS HAVE_MDNS USE_GMP INCLUDE_FLAGS LDIR_FLAGS subdirs VERSION MAJOR_VERSION MINOR_VERSION SUBMINOR_VERSION GCC_VERSION LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
|
@ -1921,6 +1921,34 @@ case "$target_os" in
|
|||
;;
|
||||
esac
|
||||
|
||||
GNUSTEP_BASE_RELATIVE_PATHS=no
|
||||
|
||||
# Now, check if any of the paths is a relative path.
|
||||
for path in \
|
||||
"$GNUSTEP_SYSTEM_APPS" "$GNUSTEP_SYSTEM_ADMIN_APPS" "$GNUSTEP_SYSTEM_WEB_APPS" \
|
||||
"$GNUSTEP_SYSTEM_TOOLS" "$GNUSTEP_SYSTEM_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_SYSTEM_LIBRARY" "$GNUSTEP_SYSTEM_LIBRARIES" "$GNUSTEP_SYSTEM_HEADERS" \
|
||||
"$GNUSTEP_SYSTEM_DOC" "$GNUSTEP_SYSTEM_DOC_MAN" "$GNUSTEP_SYSTEM_DOC_INFO" \
|
||||
"$GNUSTEP_NETWORK_APPS" "$GNUSTEP_NETWORK_ADMIN_APPS" "$GNUSTEP_NETWORK_WEB_APPS" \
|
||||
"$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_NETWORK_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_NETWORK_LIBRARY" "$GNUSTEP_NETWORK_LIBRARIES" "$GNUSTEP_NETWORK_HEADERS" \
|
||||
"$GNUSTEP_NETWORK_DOC" "$GNUSTEP_NETWORK_DOC_MAN" "$GNUSTEP_NETWORK_DOC_INFO" \
|
||||
"$GNUSTEP_LOCAL_APPS" "$GNUSTEP_LOCAL_ADMIN_APPS" "$GNUSTEP_LOCAL_WEB_APPS" \
|
||||
"$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_LOCAL_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_LOCAL_LIBRARY" "$GNUSTEP_LOCAL_LIBRARIES" "$GNUSTEP_LOCAL_HEADERS" \
|
||||
"$GNUSTEP_LOCAL_DOC" "$GNUSTEP_LOCAL_DOC_MAN" "$GNUSTEP_LOCAL_DOC_INFO"; do
|
||||
case "$path" in
|
||||
./*) GNUSTEP_BASE_RELATIVE_PATHS=yes ;;
|
||||
../*) GNUSTEP_BASE_RELATIVE_PATHS=yes ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "$as_me:$LINENO: checking if we are hardcoding any relative paths in gnustep-base" >&5
|
||||
echo $ECHO_N "checking if we are hardcoding any relative paths in gnustep-base... $ECHO_C" >&6
|
||||
echo "$as_me:$LINENO: result: $GNUSTEP_BASE_RELATIVE_PATHS" >&5
|
||||
echo "${ECHO_T}$GNUSTEP_BASE_RELATIVE_PATHS" >&6
|
||||
|
||||
|
||||
#
|
||||
# Now, we want to print out the paths that we're going to hardcode
|
||||
# into gnustep-base. This is to help users in finding
|
||||
|
@ -20176,6 +20204,7 @@ s,@target_cpu@,$target_cpu,;t t
|
|||
s,@target_vendor@,$target_vendor,;t t
|
||||
s,@target_os@,$target_os,;t t
|
||||
s,@GNUSTEP_BASE_DOMAIN@,$GNUSTEP_BASE_DOMAIN,;t t
|
||||
s,@GNUSTEP_BASE_RELATIVE_PATHS@,$GNUSTEP_BASE_RELATIVE_PATHS,;t t
|
||||
s,@CC@,$CC,;t t
|
||||
s,@CFLAGS@,$CFLAGS,;t t
|
||||
s,@LDFLAGS@,$LDFLAGS,;t t
|
||||
|
|
26
configure.ac
26
configure.ac
|
@ -471,6 +471,32 @@ case "$target_os" in
|
|||
;;
|
||||
esac
|
||||
|
||||
GNUSTEP_BASE_RELATIVE_PATHS=no
|
||||
|
||||
# Now, check if any of the paths is a relative path.
|
||||
for path in \
|
||||
"$GNUSTEP_SYSTEM_APPS" "$GNUSTEP_SYSTEM_ADMIN_APPS" "$GNUSTEP_SYSTEM_WEB_APPS" \
|
||||
"$GNUSTEP_SYSTEM_TOOLS" "$GNUSTEP_SYSTEM_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_SYSTEM_LIBRARY" "$GNUSTEP_SYSTEM_LIBRARIES" "$GNUSTEP_SYSTEM_HEADERS" \
|
||||
"$GNUSTEP_SYSTEM_DOC" "$GNUSTEP_SYSTEM_DOC_MAN" "$GNUSTEP_SYSTEM_DOC_INFO" \
|
||||
"$GNUSTEP_NETWORK_APPS" "$GNUSTEP_NETWORK_ADMIN_APPS" "$GNUSTEP_NETWORK_WEB_APPS" \
|
||||
"$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_NETWORK_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_NETWORK_LIBRARY" "$GNUSTEP_NETWORK_LIBRARIES" "$GNUSTEP_NETWORK_HEADERS" \
|
||||
"$GNUSTEP_NETWORK_DOC" "$GNUSTEP_NETWORK_DOC_MAN" "$GNUSTEP_NETWORK_DOC_INFO" \
|
||||
"$GNUSTEP_LOCAL_APPS" "$GNUSTEP_LOCAL_ADMIN_APPS" "$GNUSTEP_LOCAL_WEB_APPS" \
|
||||
"$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_LOCAL_ADMIN_TOOLS" \
|
||||
"$GNUSTEP_LOCAL_LIBRARY" "$GNUSTEP_LOCAL_LIBRARIES" "$GNUSTEP_LOCAL_HEADERS" \
|
||||
"$GNUSTEP_LOCAL_DOC" "$GNUSTEP_LOCAL_DOC_MAN" "$GNUSTEP_LOCAL_DOC_INFO"; do
|
||||
case "$path" in
|
||||
./*) GNUSTEP_BASE_RELATIVE_PATHS=yes ;;
|
||||
../*) GNUSTEP_BASE_RELATIVE_PATHS=yes ;;
|
||||
esac
|
||||
done
|
||||
|
||||
AC_MSG_CHECKING([if we are hardcoding any relative paths in gnustep-base])
|
||||
AC_MSG_RESULT($GNUSTEP_BASE_RELATIVE_PATHS)
|
||||
AC_SUBST(GNUSTEP_BASE_RELATIVE_PATHS)
|
||||
|
||||
#
|
||||
# Now, we want to print out the paths that we're going to hardcode
|
||||
# into gnustep-base. This is to help users in finding
|
||||
|
|
Loading…
Reference in a new issue