Reverted last change. New installation-domains.conf file that allows you to customize the installation domain of each piece of software in a centralized way

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@27345 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2008-12-19 12:48:59 +00:00
parent ef00408a11
commit 316373cfd6
5 changed files with 50 additions and 120 deletions

View file

@ -1,3 +1,23 @@
2008-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
New configuration file that allows hardcore developers building
everything from source to specify arbitrary default installation
domains for the software. You just need to copy the
installation-domains.conf file to the same directory as the
GNUstep.conf file, and edit it to customize the default
installation domain (Thanks to Richard for the idea).
* common.make: Read installation-domains.conf file if it exists,
and use it to customize the default installation domains.
* installation-domains.conf: New file.
Reverted last change.
* configure.ac: Removed option --disable-packages.
* configure: Regenerated.
* config-noarch.make.in: Removed
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN.
* common.make: Reverted last change.
2008-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac: New option --disable-packages that causes

View file

@ -137,15 +137,34 @@ include $(GNUSTEP_MAKEFILES)/filesystem.make
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), )
GNUSTEP_INSTALLATION_DOMAIN = LOCAL
# Exception - support the GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN option (turned
# on by using "./configure --disable-packages" in gnustep-make) which causes
# it to install by default into SYSTEM (instead of LOCAL) all 'core' GNUstep
# software - which has the GNUSTEP_CORE_SOFTWARE variable set.
ifeq ($(GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN), YES)
ifeq ($(GNUSTEP_CORE_SOFTWARE), YES)
GNUSTEP_INSTALLATION_DOMAIN = SYSTEM
endif
# Try to read install.conf, if one exists. This file can be used
# when compiling from source to specify default installation location
# for certain packages. The location of install.conf can be specified
# using the GNUSTEP_INSTALLATION_DOMAINS_CONF_FILE variable; if that variable
# is not set, we look for a file called install.conf in the same directory as
# the GNUSTEP_CONFIG_FILE.
ifeq ($(GNUSTEP_INSTALLATION_DOMAINS_CONF_FILE), )
GNUSTEP_INSTALLATION_DOMAINS_CONF_FILE = $(dir $(GNUSTEP_CONFIG_FILE))installation-domains.conf
endif
-include $(GNUSTEP_INSTALLATION_DOMAINS_CONF_FILE)
ifneq ($(filter $(PACKAGE_NAME), $(GNUSTEP_PACKAGES_TO_INSTALL_INTO_SYSTEM_BY_DEFAULT)), )
GNUSTEP_INSTALLATION_DOMAIN = SYSTEM
endif
ifneq ($(filter $(PACKAGE_NAME), $(GNUSTEP_PACKAGES_TO_INSTALL_INTO_LOCAL_BY_DEFAULT)), )
GNUSTEP_INSTALLATION_DOMAIN = LOCAL
endif
ifneq ($(filter $(PACKAGE_NAME), $(GNUSTEP_PACKAGES_TO_INSTALL_INTO_NETWORK_BY_DEFAULT)), )
GNUSTEP_INSTALLATION_DOMAIN = NETWORK
endif
ifneq ($(filter $(PACKAGE_NAME), $(GNUSTEP_PACKAGES_TO_INSTALL_INTO_USER_BY_DEFAULT)), )
GNUSTEP_INSTALLATION_DOMAIN = USER
endif
endif
# Safety check. Very annoying when you mistype and you end up

View file

@ -152,5 +152,3 @@ ifeq ("@GNUSTEP_MULTI_PLATFORM@","")
GNUSTEP_HOST_VENDOR = @clean_target_vendor@
GNUSTEP_HOST_OS = @clean_target_os@
endif
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN = @GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN@

62
configure vendored
View file

@ -273,7 +273,7 @@ PACKAGE_BUGREPORT=
ac_unique_file="application.make"
ac_default_prefix=NONE
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 CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP CXX CXXFLAGS ac_ct_CXX build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os ac_cv_library_combo cc_cppprecomp cc_bundle CYGWIN RANLIB AR DLLTOOL ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TAR CHOWN GNUSTEP_MAKE_STRICT_V2_MODE GNUSTEP_ABSOLUTE_INSTALL_PATHS GNUSTEP_CONFIG_FILE GNUSTEP_USER_CONFIG_FILE GNUSTEP_USER_DEFAULTS_DIR GNUSTEP_MAKEFILES HOST_INSTALL GNUSTEP_FLATTENED GNUSTEP_IS_FLATTENED GNUSTEP_SYSTEM_APPS GNUSTEP_SYSTEM_ADMIN_APPS GNUSTEP_SYSTEM_WEB_APPS GNUSTEP_SYSTEM_TOOLS GNUSTEP_SYSTEM_ADMIN_TOOLS GNUSTEP_SYSTEM_LIBRARY GNUSTEP_SYSTEM_HEADERS GNUSTEP_SYSTEM_LIBRARIES GNUSTEP_SYSTEM_DOC GNUSTEP_SYSTEM_DOC_INFO GNUSTEP_SYSTEM_DOC_MAN GNUSTEP_NETWORK_APPS GNUSTEP_NETWORK_ADMIN_APPS GNUSTEP_NETWORK_WEB_APPS GNUSTEP_NETWORK_TOOLS GNUSTEP_NETWORK_ADMIN_TOOLS GNUSTEP_NETWORK_LIBRARY GNUSTEP_NETWORK_HEADERS GNUSTEP_NETWORK_LIBRARIES GNUSTEP_NETWORK_DOC GNUSTEP_NETWORK_DOC_INFO GNUSTEP_NETWORK_DOC_MAN GNUSTEP_LOCAL_APPS GNUSTEP_LOCAL_ADMIN_APPS GNUSTEP_LOCAL_WEB_APPS GNUSTEP_LOCAL_TOOLS GNUSTEP_LOCAL_ADMIN_TOOLS GNUSTEP_LOCAL_LIBRARY GNUSTEP_LOCAL_HEADERS GNUSTEP_LOCAL_LIBRARIES GNUSTEP_LOCAL_DOC GNUSTEP_LOCAL_DOC_INFO GNUSTEP_LOCAL_DOC_MAN GNUSTEP_USER_DIR_APPS GNUSTEP_USER_DIR_ADMIN_APPS GNUSTEP_USER_DIR_WEB_APPS GNUSTEP_USER_DIR_TOOLS GNUSTEP_USER_DIR_ADMIN_TOOLS GNUSTEP_USER_DIR_LIBRARY GNUSTEP_USER_DIR_HEADERS GNUSTEP_USER_DIR_LIBRARIES GNUSTEP_USER_DIR_DOC GNUSTEP_USER_DIR_DOC_INFO GNUSTEP_USER_DIR_DOC_MAN GNUSTEP_SYSTEM_USERS_DIR GNUSTEP_NETWORK_USERS_DIR GNUSTEP_LOCAL_USERS_DIR GNUSTEP_SYSTEM_ROOT GNUSTEP_NETWORK_ROOT GNUSTEP_LOCAL_ROOT GNUSTEP_USER_DIR GNUSTEP_MULTI_PLATFORM GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN BACKEND_BUNDLE objc_threaded ac_cv_objc_threaded USE_OBJC_EXCEPTIONS AUTO_DEPENDENCIES GCC_WITH_PRECOMPILED_HEADERS SOLARIS_SHARED INCLUDES LIB_DIR OBJCFLAGS GNUMAKE MAKE_WITH_INFO_FUNCTION GNUSTEP_STRIP_MAKEFILES GNUSTEP_MAKE_VERSION GNUSTEP_MAKE_MAJOR_VERSION GNUSTEP_MAKE_MINOR_VERSION GNUSTEP_MAKE_SUBMINOR_VERSION clean_target_os clean_target_cpu clean_target_vendor LATEX2HTML 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 CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP CXX CXXFLAGS ac_ct_CXX build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os ac_cv_library_combo cc_cppprecomp cc_bundle CYGWIN RANLIB AR DLLTOOL ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TAR CHOWN GNUSTEP_MAKE_STRICT_V2_MODE GNUSTEP_ABSOLUTE_INSTALL_PATHS GNUSTEP_CONFIG_FILE GNUSTEP_USER_CONFIG_FILE GNUSTEP_USER_DEFAULTS_DIR GNUSTEP_MAKEFILES HOST_INSTALL GNUSTEP_FLATTENED GNUSTEP_IS_FLATTENED GNUSTEP_SYSTEM_APPS GNUSTEP_SYSTEM_ADMIN_APPS GNUSTEP_SYSTEM_WEB_APPS GNUSTEP_SYSTEM_TOOLS GNUSTEP_SYSTEM_ADMIN_TOOLS GNUSTEP_SYSTEM_LIBRARY GNUSTEP_SYSTEM_HEADERS GNUSTEP_SYSTEM_LIBRARIES GNUSTEP_SYSTEM_DOC GNUSTEP_SYSTEM_DOC_INFO GNUSTEP_SYSTEM_DOC_MAN GNUSTEP_NETWORK_APPS GNUSTEP_NETWORK_ADMIN_APPS GNUSTEP_NETWORK_WEB_APPS GNUSTEP_NETWORK_TOOLS GNUSTEP_NETWORK_ADMIN_TOOLS GNUSTEP_NETWORK_LIBRARY GNUSTEP_NETWORK_HEADERS GNUSTEP_NETWORK_LIBRARIES GNUSTEP_NETWORK_DOC GNUSTEP_NETWORK_DOC_INFO GNUSTEP_NETWORK_DOC_MAN GNUSTEP_LOCAL_APPS GNUSTEP_LOCAL_ADMIN_APPS GNUSTEP_LOCAL_WEB_APPS GNUSTEP_LOCAL_TOOLS GNUSTEP_LOCAL_ADMIN_TOOLS GNUSTEP_LOCAL_LIBRARY GNUSTEP_LOCAL_HEADERS GNUSTEP_LOCAL_LIBRARIES GNUSTEP_LOCAL_DOC GNUSTEP_LOCAL_DOC_INFO GNUSTEP_LOCAL_DOC_MAN GNUSTEP_USER_DIR_APPS GNUSTEP_USER_DIR_ADMIN_APPS GNUSTEP_USER_DIR_WEB_APPS GNUSTEP_USER_DIR_TOOLS GNUSTEP_USER_DIR_ADMIN_TOOLS GNUSTEP_USER_DIR_LIBRARY GNUSTEP_USER_DIR_HEADERS GNUSTEP_USER_DIR_LIBRARIES GNUSTEP_USER_DIR_DOC GNUSTEP_USER_DIR_DOC_INFO GNUSTEP_USER_DIR_DOC_MAN GNUSTEP_SYSTEM_USERS_DIR GNUSTEP_NETWORK_USERS_DIR GNUSTEP_LOCAL_USERS_DIR GNUSTEP_SYSTEM_ROOT GNUSTEP_NETWORK_ROOT GNUSTEP_LOCAL_ROOT GNUSTEP_USER_DIR GNUSTEP_MULTI_PLATFORM BACKEND_BUNDLE objc_threaded ac_cv_objc_threaded USE_OBJC_EXCEPTIONS AUTO_DEPENDENCIES GCC_WITH_PRECOMPILED_HEADERS SOLARIS_SHARED INCLUDES LIB_DIR OBJCFLAGS GNUMAKE MAKE_WITH_INFO_FUNCTION GNUSTEP_STRIP_MAKEFILES GNUSTEP_MAKE_VERSION GNUSTEP_MAKE_MAJOR_VERSION GNUSTEP_MAKE_MINOR_VERSION GNUSTEP_MAKE_SUBMINOR_VERSION clean_target_os clean_target_cpu clean_target_vendor LATEX2HTML LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -886,31 +886,6 @@ Optional Features:
by a variety of machines with different hardware and o/s.
--disable-packages
Disabling packages causes 'core' GNUstep software to be installed
into the System domain by default.
The System domain is normally reserved for 'packages', that is
the components shipped with your GNUstep system. But if you're
building everything from source yourself, the System domain would
never be used then. In that case, you can use this option to change
the default installation domain for 'core' GNUstep software,
installing them into System (instead of Local) by default. Then,
gnustep-make will by default install your 'core' GNUstep software
into System, and everything else into Local. This is only the
default; you can always install a specific piece of software into
whatever domain you want by using GNUSTEP_INSTALLATION_DOMAIN as
in 'make install GNUSTEP_INSTALLATION_DOMAIN=LOCAL'.
Disabling 'packages' is very dangerous for end-users since they might be
overwriting their System installation if they compile and install
source code downloaded from the internet (eg, if they're trying a new
version of Gorm). Unless you are one of these guys building
everything from source and with a reason to put core packages into
System, please do not use this configure option. In particular,
whenever packages are involved, packages must *not* be disabled.
Packagers (people building ready-to-use GNUstep distributions to be
distributed to end-users) must never use this option.
--disable-backend-bundle
Compile GUI backend as a library. Use this option if the default
compilation of the GUI backend as a bundle (loadable module) is
@ -4557,38 +4532,6 @@ else
fi
#--------------------------------------------------------------------
# Do we need to install 'core' software into the System domain ?
#--------------------------------------------------------------------
#
# This option install the 'core' GNUstep software into the System
# domain; as an option, it conflicts with packages - the System domain
# is supposed to be reserved for them. It is extremely dangerous to
# enable it whenever packages are involved, and for this reason we
# named it "--disable-packages" so that no packager will be tempted
# to use it. :-)
#
echo "$as_me:$LINENO: checking if we should assume packages are never involved so we install core software into System by default" >&5
echo $ECHO_N "checking if we should assume packages are never involved so we install core software into System by default... $ECHO_C" >&6
# Check whether --enable-packages or --disable-packages was given.
if test "${enable_packages+set}" = set; then
enableval="$enable_packages"
ac_cv_packages=$enableval
else
ac_cv_packages="undefined"
fi;
if test "$ac_cv_packages" = "no"; then
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN=YES
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6;
else
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN=NO
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6;
fi
#--------------------------------------------------------------------
# Build backend bundles (on by default)
#--------------------------------------------------------------------
@ -4617,7 +4560,7 @@ if test "$GNUSTEP_IS_FLATTENED" != yes; then
obj_dir="$clean_target_cpu/$clean_target_os"
fi
# Check to see if the libobjc library is in our GNUSTEP_SYSTEM_LIBRARIES.
# Check to see if the libobjc library is in our GNUSTEP_SYSTEM_LIBRARIES
# If so, there are probably other libraries that we want there also, so
# leave the proper includes in CPPFLAGS and LDFLAGS
echo "$as_me:$LINENO: checking for custom shared objc library" >&5
@ -6358,7 +6301,6 @@ s,@GNUSTEP_NETWORK_ROOT@,$GNUSTEP_NETWORK_ROOT,;t t
s,@GNUSTEP_LOCAL_ROOT@,$GNUSTEP_LOCAL_ROOT,;t t
s,@GNUSTEP_USER_DIR@,$GNUSTEP_USER_DIR,;t t
s,@GNUSTEP_MULTI_PLATFORM@,$GNUSTEP_MULTI_PLATFORM,;t t
s,@GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN@,$GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN,;t t
s,@BACKEND_BUNDLE@,$BACKEND_BUNDLE,;t t
s,@objc_threaded@,$objc_threaded,;t t
s,@ac_cv_objc_threaded@,$ac_cv_objc_threaded,;t t

View file

@ -959,55 +959,6 @@ else
fi
AC_SUBST(GNUSTEP_MULTI_PLATFORM)
#--------------------------------------------------------------------
# Do we need to install 'core' software into the System domain ?
#--------------------------------------------------------------------
#
# This option install the 'core' GNUstep software into the System
# domain; as an option, it conflicts with packages - the System domain
# is supposed to be reserved for them. It is extremely dangerous to
# enable it whenever packages are involved, and for this reason we
# named it "--disable-packages" so that no packager will be tempted
# to use it. :-)
#
AC_MSG_CHECKING(if we should assume packages are never involved so we install core software into System by default)
AC_ARG_ENABLE(packages, [
--disable-packages
Disabling packages causes 'core' GNUstep software to be installed
into the System domain by default.
The System domain is normally reserved for 'packages', that is
the components shipped with your GNUstep system. But if you're
building everything from source yourself, the System domain would
never be used then. In that case, you can use this option to change
the default installation domain for 'core' GNUstep software,
installing them into System (instead of Local) by default. Then,
gnustep-make will by default install your 'core' GNUstep software
into System, and everything else into Local. This is only the
default; you can always install a specific piece of software into
whatever domain you want by using GNUSTEP_INSTALLATION_DOMAIN as
in 'make install GNUSTEP_INSTALLATION_DOMAIN=LOCAL'.
Disabling 'packages' is very dangerous for end-users since they might be
overwriting their System installation if they compile and install
source code downloaded from the internet (eg, if they're trying a new
version of Gorm). Unless you are one of these guys building
everything from source and with a reason to put core packages into
System, please do not use this configure option. In particular,
whenever packages are involved, packages must *not* be disabled.
Packagers (people building ready-to-use GNUstep distributions to be
distributed to end-users) must never use this option.
],
ac_cv_packages=$enableval,
ac_cv_packages="undefined")
if test "$ac_cv_packages" = "no"; then
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN=YES
AC_MSG_RESULT(yes);
else
GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN=NO
AC_MSG_RESULT(no);
fi
AC_SUBST(GNUSTEP_INSTALL_CORE_INTO_SYSTEM_DOMAIN)
#--------------------------------------------------------------------
# Build backend bundles (on by default)
#--------------------------------------------------------------------
@ -1037,7 +988,7 @@ if test "$GNUSTEP_IS_FLATTENED" != yes; then
obj_dir="$clean_target_cpu/$clean_target_os"
fi
# Check to see if the libobjc library is in our GNUSTEP_SYSTEM_LIBRARIES.
# Check to see if the libobjc library is in our GNUSTEP_SYSTEM_LIBRARIES
# If so, there are probably other libraries that we want there also, so
# leave the proper includes in CPPFLAGS and LDFLAGS
AC_MSG_CHECKING(for custom shared objc library)