Index: config.h
===================================================================
--- config.h (revision 0)
+++ config.h (revision 0)
@@ -0,0 +1,2 @@
+/* FIXME replace with autoconf stuff */
+#define DEFAULT_CONFIG_PATH "~/GNUstep/Library/Configuration:/etc/GNUstep";
Index: filesystem.sh.in
===================================================================
--- filesystem.sh.in (revision 24586)
+++ filesystem.sh.in (working copy)
@@ -1,211 +0,0 @@
-#! /bin/echo This file must be sourced inside (ba)sh using: .
-#
-# @configure_input@
-#
-# Sets up the GNUstep filesystem paths for shell scripts
-#
-# Copyright (C) 2007 Free Software Foundation, Inc.
-#
-# Author: Nicola Pero
,
-#
-# Date: February 2007
-#
-# This file is part of the GNUstep Makefile Package.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# You should have received a copy of the GNU General Public
-# License along with this library; see the file COPYING.LIB.
-# If not, write to the Free Software Foundation,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-#
-# This does the same that filesystem.make does, but for GNUstep.sh.
-# Include this file after reading your config to make sure that all
-# the paths are available.
-#
-# PS: If you change this list, make sure that top update the list of
-# paths used in all other filesystem.*, and in common.make when
-# GNUSTEP_INSTALLATION_DIR is set.
-#
-
-# PS: We don't want to define these variables to avoid extreme
-# environment pollution. :-) They are fixed subdirs of LIBRARY if you
-# need them.
-#GNUSTEP_SYSTEM_APPLICATION_SUPPORT = $GNUSTEP_SYSTEM_LIBRARY/ApplicationSupport
-#GNUSTEP_SYSTEM_BUNDLES = $GNUSTEP_SYSTEM_LIBRARY/Bundles
-#GNUSTEP_SYSTEM_FRAMEWORKS = $GNUSTEP_SYSTEM_LIBRARY/Frameworks
-#GNUSTEP_SYSTEM_PALETTES = $GNUSTEP_SYSTEM_LIBRARY/ApplicationSupport/Palettes
-#GNUSTEP_SYSTEM_SERVICES = $GNUSTEP_SYSTEM_LIBRARY/Services
-#GNUSTEP_SYSTEM_RESOURCES = $GNUSTEP_SYSTEM_LIBRARY/Libraries/Resources
-#GNUSTEP_SYSTEM_JAVA = $GNUSTEP_SYSTEM_LIBRARY/Libraries/Java
-
-#
-# SYSTEM domain
-#
-if [ -z "$GNUSTEP_SYSTEM_APPS" ];
- then GNUSTEP_SYSTEM_APPS="@GNUSTEP_SYSTEM_APPS@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_TOOLS" ];
- then GNUSTEP_SYSTEM_TOOLS="@GNUSTEP_SYSTEM_TOOLS@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_LIBRARY" ];
- then GNUSTEP_SYSTEM_LIBRARY="@GNUSTEP_SYSTEM_LIBRARY@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_HEADERS" ];
- then GNUSTEP_SYSTEM_HEADERS="@GNUSTEP_SYSTEM_HEADERS@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_LIBRARIES" ];
- then GNUSTEP_SYSTEM_LIBRARIES="@GNUSTEP_SYSTEM_LIBRARIES@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION" ];
- then GNUSTEP_SYSTEM_DOCUMENTATION="@GNUSTEP_SYSTEM_DOCUMENTATION@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION_MAN" ];
- then GNUSTEP_SYSTEM_DOCUMENTATION_MAN="@GNUSTEP_SYSTEM_DOCUMENTATION_MAN@"
-fi
-if [ -z "$GNUSTEP_SYSTEM_DOCUMENTATION_INFO" ];
- then GNUSTEP_SYSTEM_DOCUMENTATION_INFO="@GNUSTEP_SYSTEM_DOCUMENTATION_INFO@"
-fi
-
-
-#
-# LOCAL domain
-#
-if [ -z "$GNUSTEP_LOCAL_APPS" ];
- then GNUSTEP_LOCAL_APPS="@GNUSTEP_LOCAL_APPS@"
-fi
-if [ -z "$GNUSTEP_LOCAL_TOOLS" ];
- then GNUSTEP_LOCAL_TOOLS="@GNUSTEP_LOCAL_TOOLS@"
-fi
-if [ -z "$GNUSTEP_LOCAL_LIBRARY" ];
- then GNUSTEP_LOCAL_LIBRARY="@GNUSTEP_LOCAL_LIBRARY@"
-fi
-if [ -z "$GNUSTEP_LOCAL_HEADERS" ];
- then GNUSTEP_LOCAL_HEADERS="@GNUSTEP_LOCAL_HEADERS@"
-fi
-if [ -z "$GNUSTEP_LOCAL_LIBRARIES" ];
- then GNUSTEP_LOCAL_LIBRARIES="@GNUSTEP_LOCAL_LIBRARIES@"
-fi
-if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION" ];
- then GNUSTEP_LOCAL_DOCUMENTATION="@GNUSTEP_LOCAL_DOCUMENTATION@"
-fi
-if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION_MAN" ];
- then GNUSTEP_LOCAL_DOCUMENTATION_MAN="@GNUSTEP_LOCAL_DOCUMENTATION_MAN@"
-fi
-if [ -z "$GNUSTEP_LOCAL_DOCUMENTATION_INFO" ];
- then GNUSTEP_LOCAL_DOCUMENTATION_INFO="@GNUSTEP_LOCAL_DOCUMENTATION_INFO@"
-fi
-
-#
-# NETWORK domain
-#
-if [ -z "$GNUSTEP_NETWORK_APPS" ];
- then GNUSTEP_NETWORK_APPS="@GNUSTEP_NETWORK_APPS@"
-fi
-if [ -z "$GNUSTEP_NETWORK_TOOLS" ];
- then GNUSTEP_NETWORK_TOOLS="@GNUSTEP_NETWORK_TOOLS@"
-fi
-if [ -z "$GNUSTEP_NETWORK_LIBRARY" ];
- then GNUSTEP_NETWORK_LIBRARY="@GNUSTEP_NETWORK_LIBRARY@"
-fi
-if [ -z "$GNUSTEP_NETWORK_HEADERS" ];
- then GNUSTEP_NETWORK_HEADERS="@GNUSTEP_NETWORK_HEADERS@"
-fi
-if [ -z "$GNUSTEP_NETWORK_LIBRARIES" ];
- then GNUSTEP_NETWORK_LIBRARIES="@GNUSTEP_NETWORK_LIBRARIES@"
-fi
-if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION" ];
- then GNUSTEP_NETWORK_DOCUMENTATION="@GNUSTEP_NETWORK_DOCUMENTATION@"
-fi
-if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION_MAN" ];
- then GNUSTEP_NETWORK_DOCUMENTATION_MAN="@GNUSTEP_NETWORK_DOCUMENTATION_MAN@"
-fi
-if [ -z "$GNUSTEP_NETWORK_DOCUMENTATION_INFO" ];
- then GNUSTEP_NETWORK_DOCUMENTATION_INFO="@GNUSTEP_NETWORK_DOCUMENTATION_INFO@"
-fi
-
-#
-# USER domain
-#
-if [ -z "$GNUSTEP_USER_DIR_APPS" ];
- then GNUSTEP_USER_DIR_APPS="@GNUSTEP_USER_DIR_APPS@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_TOOLS" ];
- then GNUSTEP_USER_DIR_TOOLS="@GNUSTEP_USER_DIR_TOOLS@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_LIBRARY" ];
- then GNUSTEP_USER_DIR_LIBRARY="@GNUSTEP_USER_DIR_LIBRARY@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_HEADERS" ];
- then GNUSTEP_USER_DIR_HEADERS="@GNUSTEP_USER_DIR_HEADERS@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_LIBRARIES" ];
- then GNUSTEP_USER_DIR_LIBRARIES="@GNUSTEP_USER_DIR_LIBRARIES@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_DOCUMENTATION" ];
- then GNUSTEP_USER_DIR_DOCUMENTATION="@GNUSTEP_USER_DIR_DOCUMENTATION@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_DOCUMENTATION_MAN" ];
- then GNUSTEP_USER_DIR_DOCUMENTATION_MAN="@GNUSTEP_USER_DIR_DOCUMENTATION_MAN@"
-fi
-if [ -z "$GNUSTEP_USER_DIR_DOCUMENTATION_INFO" ];
- then GNUSTEP_USER_DIR_DOCUMENTATION_INFO="@GNUSTEP_USER_DIR_DOCUMENTATION_INFO@"
-fi
-
-#
-# Now for all directories in the USER domain, check if they are
-# relative; if so, consider them as subdirs of GNUSTEP_HOME.
-#
-case "$GNUSTEP_USER_DIR_APPS" in
- /*) # An absolute path
- GNUSTEP_USER_APPS="$GNUSTEP_USER_DIR_APPS";;
- *) # Something else
- GNUSTEP_USER_APPS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_APPS";;
-esac
-unset GNUSTEP_USER_DIR_APPS
-
-case "$GNUSTEP_USER_DIR_TOOLS" in
- /*) GNUSTEP_USER_TOOLS="$GNUSTEP_USER_DIR_TOOLS";;
- *) GNUSTEP_USER_TOOLS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_TOOLS";;
-esac
-unset GNUSTEP_USER_DIR_TOOLS
-
-case "$GNUSTEP_USER_DIR_LIBRARY" in
- /*) GNUSTEP_USER_LIBRARY="$GNUSTEP_USER_DIR_LIBRARY";;
- *) GNUSTEP_USER_LIBRARY="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_LIBRARY";;
-esac
-unset GNUSTEP_USER_DIR_LIBRARY
-
-case "$GNUSTEP_USER_DIR_HEADERS" in
- /*) GNUSTEP_USER_HEADERS="$GNUSTEP_USER_DIR_HEADERS";;
- *) GNUSTEP_USER_HEADERS="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_HEADERS";;
-esac
-unset GNUSTEP_USER_DIR_HEADERS
-
-case "$GNUSTEP_USER_DIR_LIBRARIES" in
- /*) GNUSTEP_USER_LIBRARIES="$GNUSTEP_USER_DIR_LIBRARIES";;
- *) GNUSTEP_USER_LIBRARIES="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_LIBRARIES";;
-esac
-unset GNUSTEP_USER_DIR_LIBRARIES
-
-case "$GNUSTEP_USER_DIR_DOCUMENTATION" in
- /*) GNUSTEP_USER_DOCUMENTATION="$GNUSTEP_USER_DIR_DOCUMENTATION";;
- *) GNUSTEP_USER_DOCUMENTATION="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION";;
-esac
-unset GNUSTEP_USER_DIR_DOCUMENTATION
-
-case "$GNUSTEP_USER_DIR_DOCUMENTATION_MAN" in
- /*) GNUSTEP_USER_DOCUMENTATION_MAN="$GNUSTEP_USER_DIR_DOCUMENTATION_MAN";;
- *) GNUSTEP_USER_DOCUMENTATION_MAN="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION_MAN";;
-esac
-unset GNUSTEP_USER_DIR_DOCUMENTATION_MAN
-
-case "$GNUSTEP_USER_DIR_DOCUMENTATION_INFO" in
- /*) GNUSTEP_USER_DOCUMENTATION_INFO="$GNUSTEP_USER_DIR_DOCUMENTATION_INFO";;
- *) GNUSTEP_USER_DOCUMENTATION_INFO="$GNUSTEP_HOME/$GNUSTEP_USER_DIR_DOCUMENTATION_INFO";;
-esac
-unset GNUSTEP_USER_DIR_DOCUMENTATION_INFO
Index: configure.ac
===================================================================
--- configure.ac (revision 24586)
+++ configure.ac (working copy)
@@ -468,6 +468,13 @@
#--------------------------------------------------------------------
# Process --with-user-dir
#--------------------------------------------------------------------
+AC_MSG_CHECKING(for user home directory)
+AC_ARG_WITH(user-home,[--with-user-home must be an absolute path or an
+equivalent such as ~.],
+GNUSTEP_HOME="$withval",GNUSTEP_HOME='~')
+AC_MSG_RESULT($GNUSTEP_HOME)
+AC_SUBST(GNUSTEP_HOME)
+
AC_MSG_CHECKING(for user dir to use)
AC_ARG_WITH(user-dir,[
--with-user-dir
@@ -594,13 +601,26 @@
GNUSTEP_FLATTENED=;
GNUSTEP_IS_FLATTENED=no;
+ _GNUSTEP_HEADERS_FLAGS='${_GNUSTEP_HEADERS_FLAGS_NON_FLATTENED}'
+ _GNUSTEP_LIBRARIES_FLAGS='${_GNUSTEP_LIBRARIES_FLAGS_NON_FLATTENED}'
+ _GNUSTEP_HEADERS_DIRS='${_GNUSTEP_HEADERS_DIRS_NON_FLATTENED}'
+ _GNUSTEP_LIBRARIES_DIRS='${_GNUSTEP_LIBRARIES_DIRS_NON_FLATTENED}'
else
+ _GNUSTEP_HEADERS_FLAGS='${_GNUSTEP_HEADERS_FLAGS_FLATTENED}'
+ _GNUSTEP_LIBRARIES_FLAGS='${_GNUSTEP_LIBRARIES_FLAGS_FLATTENED}'
+ _GNUSTEP_HEADERS_DIRS='${_GNUSTEP_HEADERS_DIRS_FLATTENED}'
+ _GNUSTEP_LIBRARIES_DIRS='${_GNUSTEP_LIBRARIES_DIRS_FLATTENED}'
GNUSTEP_FLATTENED=yes;
GNUSTEP_IS_FLATTENED=yes;
fi
AC_SUBST(GNUSTEP_FLATTENED)
AC_SUBST(GNUSTEP_IS_FLATTENED)
+AC_SUBST(_GNUSTEP_HEADERS_FLAGS)
+AC_SUBST(_GNUSTEP_LIBRARIES_FLAGS)
+AC_SUBST(_GNUSTEP_HEADERS_DIRS)
+AC_SUBST(_GNUSTEP_LIBRARIES_DIRS)
+
if test "$GNUSTEP_IS_FLATTENED" = "yes"; then
AC_MSG_RESULT(yes);
else
@@ -620,29 +640,29 @@
# SYSTEM domain
#
if test x"$GNUSTEP_SYSTEM_APPS" = x""; then
- GNUSTEP_SYSTEM_APPS="$GNUSTEP_SYSTEM_ROOT/Applications"
+ GNUSTEP_SYSTEM_APPS='${GNUSTEP_SYSTEM_ROOT}/Applications'
fi
if test x"$GNUSTEP_SYSTEM_TOOLS" = x""; then
- GNUSTEP_SYSTEM_TOOLS="$GNUSTEP_SYSTEM_ROOT/Tools"
+ GNUSTEP_SYSTEM_TOOLS='${GNUSTEP_SYSTEM_ROOT}/Tools'
fi
if test x"$GNUSTEP_SYSTEM_LIBRARY" = x""; then
- GNUSTEP_SYSTEM_LIBRARY="$GNUSTEP_SYSTEM_ROOT/Library"
+ GNUSTEP_SYSTEM_LIBRARY='${GNUSTEP_SYSTEM_ROOT}/Library'
fi
if test x"$GNUSTEP_SYSTEM_HEADERS" = x""; then
- GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_ROOT/Library/Headers"
+ GNUSTEP_SYSTEM_HEADERS='${GNUSTEP_SYSTEM_ROOT}/Library/Headers'
fi
if test x"$GNUSTEP_SYSTEM_LIBRARIES" = x""; then
- GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARY/Libraries/"
+ GNUSTEP_SYSTEM_LIBRARIES='${GNUSTEP_SYSTEM_LIBRARY}/Libraries/'
fi
if test x"$GNUSTEP_SYSTEM_DOCUMENTATION" = x""; then
- GNUSTEP_SYSTEM_DOCUMENTATION="$GNUSTEP_SYSTEM_LIBRARY/Documentation"
+ GNUSTEP_SYSTEM_DOCUMENTATION='${GNUSTEP_SYSTEM_LIBRARY}/Documentation'
fi
if test x"$GNUSTEP_SYSTEM_DOCUMENTATION_MAN" = x""; then
- GNUSTEP_SYSTEM_DOCUMENTATION_MAN="$GNUSTEP_SYSTEM_DOCUMENTATION/man"
+ GNUSTEP_SYSTEM_DOCUMENTATION_MAN='${GNUSTEP_SYSTEM_DOCUMENTATION}/man'
fi
if test x"$GNUSTEP_SYSTEM_DOCUMENTATION_INFO" = x""; then
- GNUSTEP_SYSTEM_DOCUMENTATION_INFO="$GNUSTEP_SYSTEM_DOCUMENTATION/info"
+ GNUSTEP_SYSTEM_DOCUMENTATION_INFO='${GNUSTEP_SYSTEM_DOCUMENTATION}/info'
fi
AC_SUBST(GNUSTEP_SYSTEM_TOOLS)
@@ -655,28 +675,28 @@
AC_SUBST(GNUSTEP_SYSTEM_DOCUMENTATION_INFO)
if test x"$GNUSTEP_LOCAL_APPS" = x""; then
- GNUSTEP_LOCAL_APPS="$GNUSTEP_LOCAL_ROOT/Applications"
+ GNUSTEP_LOCAL_APPS='${GNUSTEP_LOCAL_ROOT}/Applications'
fi
if test x"$GNUSTEP_LOCAL_TOOLS" = x""; then
- GNUSTEP_LOCAL_TOOLS="$GNUSTEP_LOCAL_ROOT/Tools"
+ GNUSTEP_LOCAL_TOOLS='${GNUSTEP_LOCAL_ROOT}/Tools'
fi
if test x"$GNUSTEP_LOCAL_LIBRARY" = x""; then
- GNUSTEP_LOCAL_LIBRARY="$GNUSTEP_LOCAL_ROOT/Library"
+ GNUSTEP_LOCAL_LIBRARY='${GNUSTEP_LOCAL_ROOT}/Library'
fi
if test x"$GNUSTEP_LOCAL_HEADERS" = x""; then
- GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_ROOT/Library/Headers"
+ GNUSTEP_LOCAL_HEADERS='${GNUSTEP_LOCAL_ROOT}/Library/Headers'
fi
if test x"$GNUSTEP_LOCAL_LIBRARIES" = x""; then
- GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARY/Libraries/"
+ GNUSTEP_LOCAL_LIBRARIES='${GNUSTEP_LOCAL_LIBRARY}/Libraries/'
fi
if test x"$GNUSTEP_LOCAL_DOCUMENTATION" = x""; then
- GNUSTEP_LOCAL_DOCUMENTATION="$GNUSTEP_LOCAL_LIBRARY/Documentation"
+ GNUSTEP_LOCAL_DOCUMENTATION='${GNUSTEP_LOCAL_LIBRARY}/Documentation'
fi
if test x"$GNUSTEP_LOCAL_DOCUMENTATION_MAN" = x""; then
- GNUSTEP_LOCAL_DOCUMENTATION_MAN="$GNUSTEP_LOCAL_DOCUMENTATION/man"
+ GNUSTEP_LOCAL_DOCUMENTATION_MAN='${GNUSTEP_LOCAL_DOCUMENTATION}/man'
fi
if test x"$GNUSTEP_LOCAL_DOCUMENTATION_INFO" = x""; then
- GNUSTEP_LOCAL_DOCUMENTATION_INFO="$GNUSTEP_LOCAL_DOCUMENTATION/info"
+ GNUSTEP_LOCAL_DOCUMENTATION_INFO='${GNUSTEP_LOCAL_DOCUMENTATION}/info'
fi
AC_SUBST(GNUSTEP_LOCAL_TOOLS)
@@ -689,28 +709,28 @@
AC_SUBST(GNUSTEP_LOCAL_DOCUMENTATION_INFO)
if test x"$GNUSTEP_NETWORK_APPS" = x""; then
- GNUSTEP_NETWORK_APPS="$GNUSTEP_NETWORK_ROOT/Applications"
+ GNUSTEP_NETWORK_APPS='${GNUSTEP_NETWORK_ROOT}/Applications'
fi
if test x"$GNUSTEP_NETWORK_TOOLS" = x""; then
- GNUSTEP_NETWORK_TOOLS="$GNUSTEP_NETWORK_ROOT/Tools"
+ GNUSTEP_NETWORK_TOOLS='${GNUSTEP_NETWORK_ROOT}/Tools'
fi
if test x"$GNUSTEP_NETWORK_LIBRARY" = x""; then
- GNUSTEP_NETWORK_LIBRARY="$GNUSTEP_NETWORK_ROOT/Library"
+ GNUSTEP_NETWORK_LIBRARY='${GNUSTEP_NETWORK_ROOT}/Library'
fi
if test x"$GNUSTEP_NETWORK_HEADERS" = x""; then
- GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_ROOT/Library/Headers"
+ GNUSTEP_NETWORK_HEADERS='${GNUSTEP_NETWORK_ROOT}/Library/Headers'
fi
if test x"$GNUSTEP_NETWORK_LIBRARIES" = x""; then
- GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARY/Libraries/"
+ GNUSTEP_NETWORK_LIBRARIES='${GNUSTEP_NETWORK_LIBRARY}/Libraries/'
fi
if test x"$GNUSTEP_NETWORK_DOCUMENTATION" = x""; then
- GNUSTEP_NETWORK_DOCUMENTATION="$GNUSTEP_NETWORK_LIBRARY/Documentation"
+ GNUSTEP_NETWORK_DOCUMENTATION='${GNUSTEP_NETWORK_LIBRARY}/Documentation'
fi
if test x"$GNUSTEP_NETWORK_DOCUMENTATION_MAN" = x""; then
- GNUSTEP_NETWORK_DOCUMENTATION_MAN="$GNUSTEP_NETWORK_DOCUMENTATION/man"
+ GNUSTEP_NETWORK_DOCUMENTATION_MAN='${GNUSTEP_NETWORK_DOCUMENTATION}/man'
fi
if test x"$GNUSTEP_NETWORK_DOCUMENTATION_INFO" = x""; then
- GNUSTEP_NETWORK_DOCUMENTATION_INFO="$GNUSTEP_NETWORK_DOCUMENTATION/info"
+ GNUSTEP_NETWORK_DOCUMENTATION_INFO='${GNUSTEP_NETWORK_DOCUMENTATION}/info'
fi
AC_SUBST(GNUSTEP_NETWORK_TOOLS)
@@ -723,28 +743,28 @@
AC_SUBST(GNUSTEP_NETWORK_DOCUMENTATION_INFO)
if test x"$GNUSTEP_USER_DIR_APPS" = x""; then
- GNUSTEP_USER_DIR_APPS="$GNUSTEP_USER_DIR/Applications"
+ GNUSTEP_USER_DIR_APPS='${GNUSTEP_USER_DIR}/Applications'
fi
if test x"$GNUSTEP_USER_DIR_TOOLS" = x""; then
- GNUSTEP_USER_DIR_TOOLS="$GNUSTEP_USER_DIR/Tools"
+ GNUSTEP_USER_DIR_TOOLS='${GNUSTEP_USER_DIR}/Tools'
fi
if test x"$GNUSTEP_USER_DIR_LIBRARY" = x""; then
- GNUSTEP_USER_DIR_LIBRARY="$GNUSTEP_USER_DIR/Library"
+ GNUSTEP_USER_DIR_LIBRARY='${GNUSTEP_USER_DIR}/Library'
fi
if test x"$GNUSTEP_USER_DIR_HEADERS" = x""; then
- GNUSTEP_USER_DIR_HEADERS="$GNUSTEP_USER_DIR/Library/Headers"
+ GNUSTEP_USER_DIR_HEADERS='${GNUSTEP_USER_DIR}/Library/Headers'
fi
if test x"$GNUSTEP_USER_DIR_LIBRARIES" = x""; then
- GNUSTEP_USER_DIR_LIBRARIES="$GNUSTEP_USER_DIR_LIBRARY/Libraries/"
+ GNUSTEP_USER_DIR_LIBRARIES='${GNUSTEP_USER_DIR_LIBRARY}/Libraries/'
fi
if test x"$GNUSTEP_USER_DIR_DOCUMENTATION" = x""; then
- GNUSTEP_USER_DIR_DOCUMENTATION="$GNUSTEP_USER_DIR/Documentation"
+ GNUSTEP_USER_DIR_DOCUMENTATION='${GNUSTEP_USER_DIR}/Documentation'
fi
if test x"$GNUSTEP_USER_DIR_DOCUMENTATION_MAN" = x""; then
- GNUSTEP_USER_DIR_DOCUMENTATION_MAN="$GNUSTEP_USER_DIR_DOCUMENTATION/man"
+ GNUSTEP_USER_DIR_DOCUMENTATION_MAN='${GNUSTEP_USER_DIR_DOCUMENTATION}/man'
fi
if test x"$GNUSTEP_USER_DIR_DOCUMENTATION_INFO" = x""; then
- GNUSTEP_USER_DIR_DOCUMENTATION_INFO="$GNUSTEP_USER_DIR_DOCUMENTATION/info"
+ GNUSTEP_USER_DIR_DOCUMENTATION_INFO='${GNUSTEP_USER_DIR_DOCUMENTATION}/info'
fi
AC_SUBST(GNUSTEP_USER_DIR_TOOLS)
@@ -1259,7 +1279,7 @@
#--------------------------------------------------------------------
AC_CONFIG_FILES([config-noarch.make config.make openapp opentool
executable.template GNUmakefile GNUstep.conf GNUstep.sh GNUstep.csh fixpath.sh
-gnustep-make.spec gnustep-config filesystem.make filesystem.sh filesystem.csh])
+gnustep-make.spec gnustep.cfg])
AC_CONFIG_COMMANDS([default],
[[chmod a+x openapp opentool fixpath.sh executable.template]],
[[]])
Index: gnustep-config.in
===================================================================
--- gnustep-config.in (revision 24586)
+++ gnustep-config.in (working copy)
@@ -1,128 +0,0 @@
-#! /bin/sh
-#
-# @configure_input@
-#
-# Script that outputs GNUstep filesystem configuration; can
-# be used by non-gnustep-make building/config systems to know
-# how GNUstep is configured on this machine
-#
-# Copyright (C) 2007 Free Software Foundation, Inc.
-#
-# Author: Nicola Pero
-#
-# This file is part of the GNUstep Makefile Package.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# You should have received a copy of the GNU General Public
-# License along with this library; see the file COPYING.LIB.
-# If not, write to the Free Software Foundation,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-
-if [ -z "$1" ]; then
- echo "usage: gnustep-config argument"
- echo "gnustep-config --help for more help"
- exit 1
-fi
-
-if [ "$1" == "--help" ]; then
- echo "usage: gnustep-config.sh argument"
- echo
- echo "Will print out the value of the specified argument, which can be "
- echo "any GNUstep filesystem setting from the following list -- "
- echo
- echo "GNUSTEP_MAKEFILES"
- echo "GNUSTEP_USER_DIR"
- echo "GNUSTEP_USER_DEFAULTS_DIR"
- echo "GNUSTEP_HOST"
- echo "GNUSTEP_HOST_CPU"
- echo "GNUSTEP_HOST_VENDOR"
- echo "GNUSTEP_HOST_OS"
- echo "GNUSTEP_IS_FLATTENED"
- echo "GNUSTEP_xxx_ROOT (might be obsolete soon)"
- echo "GNUSTEP_xxx_APPS"
- echo "GNUSTEP_xxx_TOOLS"
- echo "GNUSTEP_xxx_LIBRARY"
- echo "GNUSTEP_xxx_HEADERS"
- echo "GNUSTEP_xxx_LIBRARIES"
- echo "GNUSTEP_xxx_DOCUMENTATION"
- echo "GNUSTEP_xxx_DOCUMENTATION_MAN"
- echo "GNUSTEP_xxx_DOCUMENTATION_INFO"
- echo "where 'xxx' could be any of 'SYSTEM', 'NETWORK', 'LOCAL' and 'USER'."
- echo
- echo "For example, you could get the value of GNUSTEP_SYSTEM_TOOLS to find"
- echo "where command-line system programs are located on this system."
- echo
- exit 0
-fi
-
-#
-# Important - keep the following in sync with GNUstep.sh.in
-#
-
-#
-# Read our configuration files. We only do that to locate
-# GNUSTEP_MAKEFILES, so that we can execute GNUstep.sh and
-# access any variable that we might ever need.
-#
-
-# Determine the location of the system configuration file
-if [ -z "$GNUSTEP_CONFIG_FILE" ]; then
- address@hidden@
-fi
-
-# Determine the location of the user configuration file
-if [ -z "$GNUSTEP_USER_CONFIG_FILE" ]; then
- address@hidden@
-fi
-
-# Read the system configuration file
-if [ -f "$GNUSTEP_CONFIG_FILE" ]; then
- . "$GNUSTEP_CONFIG_FILE"
-fi
-
-# FIXME: determining GNUSTEP_HOME
-GNUSTEP_HOME=~
-
-# Read the user configuration file ... unless it is disabled (ie, set
-# to an empty string)
-if [ -n "$GNUSTEP_USER_CONFIG_FILE" ]; then
- case "$GNUSTEP_USER_CONFIG_FILE" in
- /*) # An absolute path
- if [ -f "$GNUSTEP_USER_CONFIG_FILE" ]; then
- . "$GNUSTEP_USER_CONFIG_FILE"
- fi;;
- *) # Something else
- if [ -f "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE" ]; then
- . "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE"
- fi;;
- esac
-fi
-
-if [ -z "$GNUSTEP_MAKEFILES" ]; then
- address@hidden@
-fi
-
-#
-# If all they want to know if GNUSTEP_MAKEFILES, we can print it out
-#
-if [ "$1" == "GNUSTEP_MAKEFILES" ]; then
- echo "$GNUSTEP_MAKEFILES"
- exit 0
-fi
-
-#
-# Else, now read all the standard GNUstep config
-#
-GNUSTEP_SH_EXPORT_ALL_VARIABLES=yes
-. $GNUSTEP_MAKEFILES/GNUstep.sh
-unset GNUSTEP_SH_EXPORT_ALL_VARIABLES
-
-#
-# Now print whatever variable they asked for
-#
-echo $(eval echo \$$1)
Index: step-config.c
===================================================================
--- step-config.c (revision 0)
+++ step-config.c (revision 0)
@@ -0,0 +1,186 @@
+#include "gsconfig.h"
+#include
+#include
+
+void gsconfig_print_help(char *program_name)
+{
+ printf("usage: %s [OPTION]...\n", program_name);
+ printf(" %-20s %s\n", "-l", "list all variables");
+ printf(" %-20s %s\n", "-o FILE", "output file");
+ printf(" %-20s %s\n", "-x VARIABLE", "printf the contents of VARIABLE to stdout");
+ printf(" %-20s %s\n", "-f FORMAT", "valid formats are c, csh, sh, make");
+ printf(" %-20s %s\n", "-h", "help.");
+ exit(0);
+}
+
+void dump_hash(struct gsconfig_hash *hash, FILE *file, int fspec)
+{
+ struct gsconfig_list *thing;
+ char *format;
+ int i;
+
+ switch(fspec)
+ {
+ case GSCONFIG_FORMAT_HUMAN:
+ format = "%-40s %s\n";
+ break;
+ case GSCONFIG_FORMAT_SH:
+ format = "export %s=\"%s\"\n";
+ break;
+ case GSCONFIG_FORMAT_MAKE:
+ format = "%s=%s\n";
+ break;
+ case GSCONFIG_FORMAT_CSH:
+ format = "setenv %s %s;\n";
+ break;
+ case GSCONFIG_FORMAT_C:
+ format = "#define %s \"%s\"\n";
+ }
+
+ for (i = 0; i <= hash->max_hash; i++)
+ {
+ for (thing = hash->table[i]; thing; thing = thing->next)
+ {
+ fprintf(file, format, thing->key, gsconfig_parse_string(hash, thing->value));
+ }
+ }
+}
+
+int main(int argc, char **argv)
+{
+ FILE *fi = stdin;
+ FILE *fo = stdout;
+ struct gsconfig_list *head = NULL;
+ struct gsconfig_hash *hash = init_gsconfig_hash(50);
+ int c;
+ int fspec = GSCONFIG_FORMAT_HUMAN;
+ int list_all = 0;
+ char *pathlist = getenv("GNUSTEP_CONFIG_PATH");
+ char *variable = NULL;
+ char *category = NULL;
+ int error;
+
+ if (!(argc > 1))
+ gsconfig_print_help(argv[0]);
+
+ while ((c = getopt(argc, argv, "lhf:o:x:")) != -1)
+ switch(c)
+ {
+ case 'f':
+ if (strcmp(optarg, "make") == 0)
+ fspec = GSCONFIG_FORMAT_MAKE;
+ else if (strcmp(optarg, "sh") == 0)
+ fspec = GSCONFIG_FORMAT_SH;
+ else if (strcmp(optarg, "csh") == 0)
+ fspec = GSCONFIG_FORMAT_CSH;
+ else if (strcmp(optarg, "c") == 0)
+ fspec = GSCONFIG_FORMAT_C;
+ else
+ {
+ fprintf(stderr, "unsupported format: %s\n", optarg);
+ exit(0);
+ }
+ break;
+ case 'o':
+ if (fspec == GSCONFIG_FORMAT_HUMAN)
+ fspec = GSCONFIG_FORMAT_SH;
+ fo = fopen(optarg, "w");
+ if (fo == NULL && errno)
+ {
+ fprintf(stderr, "%s\n", strerror(errno));
+ exit(1);
+ }
+ break;
+ case 'h':
+ gsconfig_print_help(argv[0]);
+ break;
+ case 'l':
+ list_all=1;
+ break;
+ case 'x':
+ variable=optarg;
+ break;
+ default:
+ gsconfig_print_help(argv[0]);
+ break;
+ }
+
+ if (optind < argc)
+ {
+ category = argv[optind++];
+ }
+
+/* if (!category)
+ category = "gnustep";
+ */
+
+ if (category)
+ {
+ struct gsconfig_path_list *config_file_list;
+ struct gsconfig_path_list *config_file;
+ struct gsconfig_list *head;
+
+ config_file_list = gsconfig_paths_for_category(pathlist, category);
+ for (config_file = config_file_list; config_file; config_file = config_file->next)
+ {
+ fi = fopen(config_file->path, "r");
+
+ if (fi)
+ {
+ head = gsconfig_split_file(fi);
+ while (head)
+ {
+ struct gsconfig_list *next = head->next;
+ int keyHash = strlen(head->key);
+ int add = gsconfig_hash_search(hash, keyHash, head->key) == NULL;
+ int env = 0;
+ char * fromEnv;
+ if (add)
+ {
+ /* replace whats found in the config files with
+ * any environment variables */
+ fromEnv = getenv(head->key);
+ if (fromEnv)
+ {
+ struct gsconfig_list *envVar;
+ char *value = malloc(strlen(fromEnv) + 1);
+
+ strcpy(value, fromEnv);
+ add = 1;
+ free(head->value);
+ head->value = value;
+ }
+ }
+
+ if (add)
+ {
+ gsconfig_hash_add(hash, keyHash, head);
+ }
+ else
+ {
+ free(head->key);
+ free(head->value);
+ free(head);
+ }
+ head = next;
+ }
+ }
+ }
+ }
+
+ if (variable && hash)
+ {
+ head = gsconfig_hash_search(hash, strlen(variable), variable);
+ if (head)
+ printf("%s\n", head->value);
+ exit(0);
+ }
+
+ if (list_all)
+ {
+ dump_hash(hash, fo, fspec);
+ }
+
+ gsconfig_free_hash_table(hash);
+ return 0;
+}
Index: filesystem.csh.in
===================================================================
--- filesystem.csh.in (revision 24586)
+++ filesystem.csh.in (working copy)
@@ -1,220 +0,0 @@
-#! /bin/echo This file must be sourced inside csh using: source
-#
-# @configure_input@
-#
-# Sets up the GNUstep filesystem paths for shell scripts
-#
-# Copyright (C) 2007 Free Software Foundation, Inc.
-#
-# Author: Nicola Pero ,
-#
-# Date: February 2007
-#
-# This file is part of the GNUstep Makefile Package.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# You should have received a copy of the GNU General Public
-# License along with this library; see the file COPYING.LIB.
-# If not, write to the Free Software Foundation,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-#
-# This does the same as filesystem.sh, but for csh.
-#
-
-#
-# SYSTEM domain
-#
-if ( ! ${?GNUSTEP_SYSTEM_ROOT} ) then
- setenv GNUSTEP_SYSTEM_APPS "@GNUSTEP_SYSTEM_APPS@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_TOOLS} ) then
- setenv GNUSTEP_SYSTEM_TOOLS "@GNUSTEP_SYSTEM_TOOLS@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_LIBRARY} ) then
- setenv GNUSTEP_SYSTEM_LIBRARY "@GNUSTEP_SYSTEM_LIBRARY@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_HEADERS} ) then
- setenv GNUSTEP_SYSTEM_HEADERS "@GNUSTEP_SYSTEM_HEADERS@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_LIBRARIES} ) then
- setenv GNUSTEP_SYSTEM_LIBRARIES "@GNUSTEP_SYSTEM_LIBRARIES@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION} ) then
- setenv GNUSTEP_SYSTEM_DOCUMENTATION "@GNUSTEP_SYSTEM_DOCUMENTATION@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION_MAN} ) then
- setenv GNUSTEP_SYSTEM_DOCUMENTATION_MAN "@GNUSTEP_SYSTEM_DOCUMENTATION_MAN@"
-endif
-if ( ! ${?GNUSTEP_SYSTEM_DOCUMENTATION_INFO} ) then
- setenv GNUSTEP_SYSTEM_DOCUMENTATION_INFO "@GNUSTEP_SYSTEM_DOCUMENTATION_INFO@"
-endif
-
-#
-# LOCAL domain
-#
-if ( ! ${?GNUSTEP_LOCAL_APPS} ) then
- setenv GNUSTEP_LOCAL_APPS "@GNUSTEP_LOCAL_APPS@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_TOOLS} ) then
- setenv GNUSTEP_LOCAL_TOOLS "@GNUSTEP_LOCAL_TOOLS@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_LIBRARY} ) then
- setenv GNUSTEP_LOCAL_LIBRARY "@GNUSTEP_LOCAL_LIBRARY@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_HEADERS} ) then
- setenv GNUSTEP_LOCAL_HEADERS "@GNUSTEP_LOCAL_HEADERS@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_LIBRARIES} ) then
- setenv GNUSTEP_LOCAL_LIBRARIES "@GNUSTEP_LOCAL_LIBRARIES@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION} ) then
- setenv GNUSTEP_LOCAL_DOCUMENTATION "@GNUSTEP_LOCAL_DOCUMENTATION@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION_MAN} ) then
- setenv GNUSTEP_LOCAL_DOCUMENTATION_MAN "@GNUSTEP_LOCAL_DOCUMENTATION_MAN@"
-endif
-if ( ! ${?GNUSTEP_LOCAL_DOCUMENTATION_INFO} ) then
- setenv GNUSTEP_LOCAL_DOCUMENTATION_INFO "@GNUSTEP_LOCAL_DOCUMENTATION_INFO@"
-endif
-
-#
-# NETWORK domain
-#
-if ( ! ${?GNUSTEP_NETWORK_APPS} ) then
- setenv GNUSTEP_NETWORK_APPS "@GNUSTEP_NETWORK_APPS@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_TOOLS} ) then
- setenv GNUSTEP_NETWORK_TOOLS "@GNUSTEP_NETWORK_TOOLS@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_LIBRARY} ) then
- setenv GNUSTEP_NETWORK_LIBRARY "@GNUSTEP_NETWORK_LIBRARY@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_HEADERS} ) then
- setenv GNUSTEP_NETWORK_HEADERS "@GNUSTEP_NETWORK_HEADERS@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_LIBRARIES} ) then
- setenv GNUSTEP_NETWORK_LIBRARIES "@GNUSTEP_NETWORK_LIBRARIES@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION} ) then
- setenv GNUSTEP_NETWORK_DOCUMENTATION "@GNUSTEP_NETWORK_DOCUMENTATION@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION_MAN} ) then
- setenv GNUSTEP_NETWORK_DOCUMENTATION_MAN "@GNUSTEP_NETWORK_DOCUMENTATION_MAN@"
-endif
-if ( ! ${?GNUSTEP_NETWORK_DOCUMENTATION_INFO} ) then
- setenv GNUSTEP_NETWORK_DOCUMENTATION_INFO "@GNUSTEP_NETWORK_DOCUMENTATION_INFO@"
-endif
-
-#
-# USER domain
-#
-if ( ! ${?GNUSTEP_USER_DIR_APPS} ) then
- setenv GNUSTEP_USER_DIR_APPS "@GNUSTEP_USER_DIR_APPS@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_TOOLS} ) then
- setenv GNUSTEP_USER_DIR_TOOLS "@GNUSTEP_USER_DIR_TOOLS@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_LIBRARY} ) then
- setenv GNUSTEP_USER_DIR_LIBRARY "@GNUSTEP_USER_DIR_LIBRARY@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_HEADERS} ) then
- setenv GNUSTEP_USER_DIR_HEADERS "@GNUSTEP_USER_DIR_HEADERS@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_LIBRARIES} ) then
- setenv GNUSTEP_USER_DIR_LIBRARIES "@GNUSTEP_USER_DIR_LIBRARIES@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION} ) then
- setenv GNUSTEP_USER_DIR_DOCUMENTATION "@GNUSTEP_USER_DIR_DOCUMENTATION@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION_MAN} ) then
- setenv GNUSTEP_USER_DIR_DOCUMENTATION_MAN "@GNUSTEP_USER_DIR_DOCUMENTATION_MAN@"
-endif
-if ( ! ${?GNUSTEP_USER_DIR_DOCUMENTATION_INFO} ) then
- setenv GNUSTEP_USER_DIR_DOCUMENTATION_INFO "@GNUSTEP_USER_DIR_DOCUMENTATION_INFO@"
-endif
-
-switch ("${GNUSTEP_USER_DIR_APPS}")
- case /*: # An absolute path
- setenv GNUSTEP_USER_APPS "${GNUSTEP_USER_DIR_APPS}"
- breaksw
- default: # Something else
- setenv GNUSTEP_USER_APPS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_APPS}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_TOOLS}")
- case /*:
- setenv GNUSTEP_USER_TOOLS "${GNUSTEP_USER_DIR_TOOLS}"
- breaksw
- default:
- setenv GNUSTEP_USER_TOOLS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_TOOLS}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_LIBRARY}")
- case /*:
- setenv GNUSTEP_USER_LIBRARY "${GNUSTEP_USER_DIR_LIBRARY}"
- breaksw
- default:
- setenv GNUSTEP_USER_LIBRARY "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARY}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_HEADERS}")
- case /*:
- setenv GNUSTEP_USER_HEADERS "${GNUSTEP_USER_DIR_HEADERS}"
- breaksw
- default:
- setenv GNUSTEP_USER_HEADERS "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_HEADERS}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_LIBRARIES}")
- case /*:
- setenv GNUSTEP_USER_LIBRARIES "${GNUSTEP_USER_DIR_LIBRARIES}"
- breaksw
- default:
- setenv GNUSTEP_USER_LIBRARIES "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_LIBRARIES}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_DOCUMENTATION}")
- case /*:
- setenv GNUSTEP_USER_DOCUMENTATION "${GNUSTEP_USER_DIR_DOCUMENTATION}"
- breaksw
- default:
- setenv GNUSTEP_USER_DOCUMENTATION "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}")
- case /*:
- setenv GNUSTEP_USER_DOCUMENTATION_MAN "${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
- breaksw
- default:
- setenv GNUSTEP_USER_DOCUMENTATION_MAN "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_MAN}"
- breaksw
-endsw
-
-switch ("${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}")
- case /*:
- setenv GNUSTEP_USER_DOCUMENTATION_INFO "${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
- breaksw
- default:
- setenv GNUSTEP_USER_DOCUMENTATION_INFO "${GNUSTEP_HOME}/${GNUSTEP_USER_DIR_DOCUMENTATION_INFO}"
- breaksw
-endsw
-
-unsetenv GNUSTEP_USER_DIR_APPS
-unsetenv GNUSTEP_USER_DIR_TOOLS
-unsetenv GNUSTEP_USER_DIR_LIBRARY
-unsetenv GNUSTEP_USER_DIR_HEADERS
-unsetenv GNUSTEP_USER_DIR_LIBRARIES
-unsetenv GNUSTEP_USER_DIR_DOCUMENTATION
-unsetenv GNUSTEP_USER_DIR_DOCUMENTATION_MAN
-unsetenv GNUSTEP_USER_DIR_DOCUMENTATION_INFO
Index: gsconfig.c
===================================================================
--- gsconfig.c (revision 0)
+++ gsconfig.c (revision 0)
@@ -0,0 +1,379 @@
+#include "gsconfig.h"
+#include "config.h"
+
+void gsconfig_error(char *file, int line)
+{
+ fprintf(stderr, "error allocating stuff %s:%i\n", file, line);
+ exit(1);
+}
+
+char *gsconfig_parse_string(struct gsconfig_hash *foo, char *string)
+{
+ char *curr = string;
+ int i = 0;
+ size_t len = strlen(string);
+ char *tmp = malloc(strlen(string) + 1);
+ char *merg = NULL;
+ int b = 0;
+ int e = 0;
+
+ strcpy(tmp, string);
+
+ if (!string) return NULL;
+
+ while (*curr != '\0')
+ {
+ char *prev;
+
+ prev = curr;
+ curr++;
+ i++;
+
+ if (*prev == '$' && *curr == '{')
+ {
+ b = i + 1;
+ while (*curr != '\0')
+ {
+ curr++;
+ i++;
+ if (*curr == '}')
+ {
+ break;
+ }
+ }
+
+ if (*curr != '}')
+ {
+ fprintf(stderr, "error missing } processing: %s\n", string);
+ return string;
+ }
+ else
+ {
+ char *varName;
+ struct gsconfig_list *var;
+ size_t newLen = 0;
+ size_t varLen = 0;
+
+ e = i;
+ varName = malloc(e - b + 1);
+ strncpy(varName, &tmp[b], e - b);
+ varName[e - b] = '\0';
+
+ var = gsconfig_hash_search(foo, e - b, varName);
+ if (var)
+ varLen = newLen = strlen(var->value);
+ newLen += (b - 2);
+ newLen += len - e;
+ merg = malloc(newLen + 1);
+ memcpy(merg, tmp, b - 2);
+ if (var)
+ memcpy(&merg[b-2], var->value, varLen);
+ memcpy(&merg[varLen + b - 2], &tmp[e + 1], len - e);
+ i = b - 2;
+ b = b - 2;
+ e = 0;
+ curr = &merg[b];
+ tmp = merg;
+ len = strlen(tmp);
+ }
+ }
+ }
+
+ return tmp;
+}
+
+struct gsconfig_hash *init_gsconfig_hash(int maxHash)
+{
+ struct gsconfig_hash *hash;
+ int i;
+
+ hash = malloc(sizeof(struct gsconfig_hash));
+ if (!hash) gsconfig_error(__FILE__,__LINE__);
+
+ hash->table = malloc(sizeof(struct gsconfig_list *) * (maxHash + 1));
+ if (hash->table == NULL)
+ gsconfig_error(__FILE__,__LINE__);
+
+ for (i = 0; i <= maxHash; i++)
+ hash->table[i] = NULL;
+ hash->max_hash = maxHash;
+ return hash;
+}
+
+void gsconfig_hash_grow(struct gsconfig_hash *foo, int hash)
+{
+ int i;
+
+ if (hash < foo->max_hash)
+ return;
+
+ foo->table = realloc(foo->table, sizeof(struct gsconfig_list**) * (hash + 1));
+ if (!foo->table)
+ gsconfig_error(__FILE__,__LINE__);
+
+ for (i = foo->max_hash; i <= hash; i++)
+ {
+ foo->table[i]=NULL;
+ }
+ foo->max_hash = hash;
+}
+
+void gsconfig_hash_add(struct gsconfig_hash *foo, int hash, struct gsconfig_list *thing)
+{
+ struct gsconfig_list *head;
+
+
+ if (foo->max_hash < hash)
+ {
+ gsconfig_hash_grow(foo, hash);
+ }
+
+ head = foo->table[hash];
+ thing->next = head;
+ foo->table[hash] = thing;
+}
+
+struct gsconfig_list *gsconfig_hash_search(struct gsconfig_hash *foo, int hash, char *key)
+{
+ struct gsconfig_list *thing;
+ if (foo->max_hash < hash) return NULL;
+ for (thing = foo->table[hash]; thing; thing=thing->next)
+ {
+ if (strcmp(thing->key, key) == 0)
+ return thing;
+ }
+ return NULL;
+}
+
+
+struct gsconfig_path_list *gsconfig_paths_for_category(char *pathlist, char *category)
+{
+ char *_pathlist = pathlist ? pathlist : DEFAULT_CONFIG_PATH;
+ char *path;
+ char *theRest;
+ struct gsconfig_path_list *head = NULL;
+
+
+ theRest = malloc(strlen(_pathlist) + 1);
+ strcpy(theRest, _pathlist);
+
+
+ while ((path = strsep(&theRest, ":")))
+ {
+ char *full_path;
+ struct gsconfig_path_list *node;
+
+ node = malloc(sizeof(struct gsconfig_path_list));
+
+ if (path[0] == '~')
+ {
+ char *home = getenv("HOME");
+ full_path = malloc(strlen(home)
+ + (strlen(_pathlist) - 1)
+ + strlen(category)
+ + sizeof("//.cfg")
+ + 1);
+ sprintf(full_path, "%s/%s/%s.cfg", home, &path[1], category);
+ }
+ else
+ {
+ full_path = malloc(strlen(_pathlist) + strlen(category) + sizeof("//.cfg") + 1);
+ sprintf(full_path, "%s/%s.cfg", path, category);
+ }
+
+ node->next = head;
+ node->path = full_path;
+ head = node;
+ }
+ return head;
+}
+
+char *trim_whitespace(char *str)
+{
+ char *head = str;
+ char *c = str;
+ size_t len = strlen(str);
+ int hoff = 0;
+ int toff = 0;
+ char *ret; // = malloc(len + 1);
+ size_t newSz;
+
+ while (*c != '\0')
+ {
+ if (isspace(*c))
+ {
+ c++;
+ hoff++;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ c = &str[len-1];
+
+ while (c != head)
+ {
+ if (isspace(*c))
+ {
+ c--;
+ toff++;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ newSz = len - (hoff + toff);
+ ret = malloc(newSz + 1);
+ strncpy(ret, &str[hoff], newSz);
+ ret[newSz] = '\0';
+ return ret;
+}
+
+void gsconfig_free_hash_table(struct gsconfig_hash *foo)
+{
+ int i;
+ int c = foo->max_hash;
+
+ for (i = 0; i < c; i++)
+ {
+ struct gsconfig_list *head = foo->table[i];
+
+ while (head)
+ {
+ struct gsconfig_list *next = head->next;
+ free(head->key);
+ free(head->value);
+ free(head);
+ head = next;
+ }
+ }
+ free(foo->table);
+ free(foo);
+}
+
+struct gsconfig_list *gsconfig_split_file(FILE *fi)
+{
+ char buf[128];
+ char *left = NULL;
+ size_t leftSz = 0;
+ char *right = NULL;
+ size_t rightSz = 0;
+ int foundEq = 0;
+ struct gsconfig_list *head = NULL;
+
+ while (1)
+ {
+ char *r = fgets(buf, 128, fi);
+ int i = 0;
+ char *key;
+ char *val = buf;
+ size_t keySz;
+ size_t valSz;
+
+ if (r == NULL)
+ {
+ break;
+ }
+ while (isspace(*r))
+ r++;
+ if (*r == '#')
+ continue;
+
+ /* split foo=bar into two strings left and right*/
+ if (!foundEq)
+ {
+ key = strsep(&val,"=");
+ foundEq = val != NULL;
+ keySz = strlen(key);
+ if (key != NULL)
+ {
+ if (!leftSz)
+ {
+ left = malloc(keySz + 1);
+ leftSz = keySz + 1;
+ strcpy(left, key);
+ }
+ else
+ {
+ left = realloc(left, leftSz + keySz);
+ strcat(left, key);
+ leftSz += keySz;
+ }
+ }
+
+ if (val != NULL)
+ {
+ valSz = strlen(val);
+ right = malloc(valSz + 1);
+ strcpy(right, val);
+ rightSz = valSz + 1;
+ }
+ }
+ else
+ {
+ valSz = strlen(val);
+ if (rightSz)
+ {
+ right = realloc(right, rightSz + valSz);
+ strcat(right, val);
+ rightSz += valSz;
+ }
+ else
+ {
+ right = malloc(valSz + 1);
+ rightSz = valSz + 1;
+ strcpy(right, val);
+ }
+ }
+
+ /*
+ * some data was found but no key value pair.
+ * maybe a comment.. (could surely be optimized not to malloc stuff?)
+ *
+ * only supports # at the beginning of the line.
+ */
+ if (left && (left[leftSz - 2] == '\n' || left[0] == '#'))
+ {
+ char *stuff = trim_whitespace(left);
+
+ if (strlen(stuff))
+ {
+ char *errStr = trim_whitespace(left);
+ fprintf(stderr, "error parsing key pair '%s'\n", errStr);
+ free(errStr);
+ }
+
+ free(stuff);
+ free(left);
+ leftSz = 0;
+ left = NULL;
+ keySz = 0;
+ key = NULL;
+ foundEq = 0;
+ }
+ else if (left && right && right[rightSz - 2] == '\n')
+ {
+ /* a key/value pair was found */
+ struct gsconfig_list *kv;
+
+ kv = malloc(sizeof(struct gsconfig_list));
+ kv->key = trim_whitespace(left);
+ kv->value = trim_whitespace(right);
+ kv->next = head;
+ head = kv;
+
+ free(left);
+ free(right);
+ left = NULL;
+ leftSz = 0;
+ right = NULL;
+ rightSz = 0;
+ foundEq = 0;
+ }
+ }
+ return head;
+}
Index: gsconfig.h
===================================================================
--- gsconfig.h (revision 0)
+++ gsconfig.h (revision 0)
@@ -0,0 +1,42 @@
+#ifndef __GSCONFIG_H
+#include
+#include
+#include
+
+#define GSCONFIG_FORMAT_SH 0
+#define GSCONFIG_FORMAT_CSH 1
+#define GSCONFIG_FORMAT_HUMAN 2
+#define GSCONFIG_FORMAT_MAKE 3
+#define GSCONFIG_FORMAT_C 4
+
+struct gsconfig_path_list {
+ char *path;
+ struct gsconfig_path_list *next;
+};
+
+struct gsconfig_list {
+ char *key;
+ char *value;
+ struct gsconfig_list *next;
+};
+
+struct gsconfig_hash {
+ int max_hash;
+ struct gsconfig_list **table;
+};
+
+/*
+ * returns a linked list of all key/value pairs in the file
+ * variables unexpanded.
+ */
+struct gsconfig_list *gsconfig_split_file(FILE *fi);
+struct gsconfig_list *gsconfig_hash_search(struct gsconfig_hash *table, int hash, char *key);
+struct gsconfig_hash *init_gsconfig_hash(int maxHash);
+void gsconfig_hash_add(struct gsconfig_hash *table, int hash, struct gsconfig_list *thing);
+struct gsconfig_path_list *gsconfig_paths_for_category(char *pathlist, char *category);
+
+
+
+#define __GSCONFIG_H
+#endif
+
Index: GNUmakefile.in
===================================================================
--- GNUmakefile.in (revision 24586)
+++ GNUmakefile.in (working copy)
@@ -119,9 +119,12 @@
EC = @
endif
-all: generated-files
+all: generated-files step-config
$(EC)(echo "Thanks. All is ready to install.")
+step-config: step-config.o gsconfig.o
+ @CC@ @CFLAGS@ -o $@ $^
+
install: generated-files
$(EC)(echo "Creating system domain: $(GNUSTEP_SYSTEM_ROOT)"; \
$(srcdir)/create_domain_dir_tree.sh "$(GNUSTEP_SYSTEM_ROOT)"; \
@@ -139,9 +142,9 @@
$(makedir)/Instance \
$(makedir)/Instance/Shared \
$(makedir)/Instance/Documentation)
- $(EC)(echo "Installing GNUstep configuration file in $(GNUSTEP_CONFIG_FILE)"; \
+ $(EC)(echo "Installing GNUstep configuration file in $(GNUSTEP_CONFIG_FILE_DIR)"; \
$(srcdir)/mkinstalldirs "$(GNUSTEP_CONFIG_FILE_DIR)"; \
- $(INSTALL_DATA) GNUstep.conf "$(GNUSTEP_CONFIG_FILE)")
+ $(INSTALL_DATA) gnustep.cfg "$(GNUSTEP_CONFIG_FILE_DIR)/gnustep.cfg")
-$(EC) rm -f "$(GNUSTEP_SYSTEM_ROOT)/Makefiles"
$(EC)(echo "Installing gnustep-make support software")
$(EC)(for f in config.guess config.sub install-sh mkinstalldirs \
@@ -152,8 +155,6 @@
done)
$(EC)($(INSTALL_DATA) GNUstep.sh $(makedir); \
$(INSTALL_DATA) GNUstep.csh $(makedir); \
- $(INSTALL_DATA) filesystem.sh $(makedir); \
- $(INSTALL_DATA) filesystem.csh $(makedir); \
$(INSTALL_DATA) $(srcdir)/ld_lib_path.sh $(makedir); \
$(INSTALL_DATA) $(srcdir)/ld_lib_path.csh $(makedir); \
$(INSTALL_DATA) $(srcdir)/GNUstep-reset.sh $(makedir); \
@@ -161,7 +162,7 @@
$(INSTALL_PROGRAM) -m 755 openapp $(tooldir); \
$(INSTALL_PROGRAM) -m 755 debugapp $(tooldir); \
$(INSTALL_PROGRAM) -m 755 opentool $(tooldir); \
- $(INSTALL_PROGRAM) -m 755 gnustep-config $(tooldir))
+ $(INSTALL_PROGRAM) -m 755 step-config $(tooldir))
$(EC)(echo "Installing makefiles"; \
for f in $(MAKE_FILES); do \
$(INSTALL_DATA) $(srcdir)/$$f $(makedir); \
@@ -241,9 +242,8 @@
rm -f GNUmakefile config-noarch.make config.make config.h
rm -f config.cache config.log config.status
rm -f openapp opentool executable.template
- rm -f GNUstep.sh GNUstep.csh fixpath.sh gnustep-config
- rm -f filesystem.make filesystem.sh filesystem.csh
- rm -f gnustep-make.spec GNUstep.conf
+ rm -f GNUstep.sh GNUstep.csh fixpath.sh
+ rm -f gnustep-make.spec gnustep.cfg
rm -f config-precomp-test.log
svn-tag:
@@ -305,8 +305,8 @@
$${rpmbuild} -ba gnustep-make.spec
generated-files: GNUmakefile GNUstep.sh GNUstep.csh fixpath.sh config-noarch.make config.make \
- openapp opentool gnustep-make.spec executable.template gnustep-config \
- filesystem.make filesystem.sh filesystem.csh GNUstep.conf
+ openapp opentool gnustep-make.spec executable.template \
+ gnustep.cfg
GNUmakefile: GNUmakefile.in config.status
$(SHELL) config.status
@@ -317,21 +317,12 @@
GNUstep.csh: GNUstep.csh.in
$(SHELL) config.status
-GNUstep.conf: GNUstep.conf.in
+gnustep.cfg: gnustep.cfg.in
$(SHELL) config.status
fixpath.sh: fixpath.sh.in
$(SHELL) config.status
-filesystem.make: filesystem.make.in
- $(SHELL) config.status
-
-filesystem.sh: filesystem.sh.in
- $(SHELL) config.status
-
-filesystem.csh: filesystem.csh.in
- $(SHELL) config.status
-
config-noarch.make: config-noarch.make.in Version
$(SHELL) config.status --recheck
@@ -349,6 +340,3 @@
executable.template: executable.template.in
$(SHELL) config.status
-
-gnustep-config: gnustep-config.in
- $(SHELL) config.status
Index: config-noarch.make.in
===================================================================
--- config-noarch.make.in (revision 24586)
+++ config-noarch.make.in (working copy)
@@ -37,74 +37,6 @@
address@hidden@
address@hidden@
-# The default library combination
-default_library_combo = @ac_cv_library_combo@
-
-#
-# Location of GNUstep's config file for this installation
-#
-# Warning - the base library's configure.in will extract the GNUstep
-# config file location from the following line using grep/sed - so if
-# you change the following lines you *need* to update the base library
-# configure.in too.
-#
-# PS: At run-time, this can be overridden on the command-line, or
-# via an environment variable.
-ifeq ($(GNUSTEP_CONFIG_FILE),)
-GNUSTEP_CONFIG_FILE = @GNUSTEP_CONFIG_FILE@
-endif
-
-#
-# Now we set up the environment and everything by reading the GNUstep
-# configuration file(s).
-#
-
-# These are the defaults value ... they will be used only if they are
-# not set in the config files (or on the command-line or in
-# environment).
-GNUSTEP_SYSTEM_ROOT = @GNUSTEP_SYSTEM_ROOT@
-GNUSTEP_LOCAL_ROOT = @GNUSTEP_LOCAL_ROOT@
-GNUSTEP_NETWORK_ROOT = @GNUSTEP_NETWORK_ROOT@
-GNUSTEP_USER_DIR = @GNUSTEP_USER_DIR@
-
-# This includes the GNUstep configuration file, but only if it exists
--include $(GNUSTEP_CONFIG_FILE)
-
-# FIXME: determining GNUSTEP_HOME
-GNUSTEP_HOME = $(HOME)
-
-# Read the user configuration file ... unless it is disabled (ie, set
-# to an empty string)
-ifneq ($(GNUSTEP_USER_CONFIG_FILE),)
-
- # FIXME - Checking for relative vs. absolute paths!
- ifneq ($(filter /%, $(GNUSTEP_USER_CONFIG_FILE)),)
- # Path starts with '/', consider it absolute
- -include $(GNUSTEP_USER_CONFIG_FILE)
- else
- # Path does no start with '/', try it as relative
- -include $(GNUSTEP_HOME)/$(GNUSTEP_USER_CONFIG_FILE)
- endif
-
-endif
-
-# GNUSTEP_FLATTENED is obsolete, please use GNUSTEP_IS_FLATTENED
-# instead
-GNUSTEP_FLATTENED = @GNUSTEP_FLATTENED@
-GNUSTEP_IS_FLATTENED = @GNUSTEP_IS_FLATTENED@
-
-#
-# Set GNUSTEP_USER_ROOT from GNUSTEP_USER_DIR; GNUSTEP_USER_ROOT is
-# the variable used in practice
-#
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR)),)
- # Path starts with '/', consider it absolute
- GNUSTEP_USER_ROOT = $(GNUSTEP_USER_DIR)
-else
- # Path does no start with '/', try it as relative
- GNUSTEP_USER_ROOT = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR)
-endif
-
# If multi-platform support is disabled, just use the hardcoded cpu,
# vendor and os determined when gnustep-make was configured. The
# reason using the hardcoded ones might be better is that config.guess
@@ -114,10 +46,3 @@
# prevent this problem, unless we were configured to determine the
# platform at run time, by default we use the hardcoded values of
# GNUSTEP_HOST*.
-
-ifeq ("@GNUSTEP_MULTI_PLATFORM@","")
- GNUSTEP_HOST = @target@
- GNUSTEP_HOST_CPU = @clean_target_cpu@
- GNUSTEP_HOST_VENDOR = @clean_target_vendor@
- GNUSTEP_HOST_OS = @clean_target_os@
-endif
Index: GNUstep.sh.in
===================================================================
--- GNUstep.sh.in (revision 24586)
+++ GNUstep.sh.in (working copy)
@@ -76,161 +76,23 @@
# Read our configuration files
#
-# Determine the location of the system configuration file
-if [ -z "$GNUSTEP_CONFIG_FILE" ]; then
- address@hidden@
-fi
+# Read in step-config
+CONFIG_FILE=`mktemp`
+step-config -o $CONFIG_FILE -l -f sh gnustep
+. $CONFIG_FILE
+rm $CONFIG_FILE
-# Determine the location of the user configuration file
-if [ -z "$GNUSTEP_USER_CONFIG_FILE" ]; then
- address@hidden@
-fi
-
-# Read the system configuration file
-if [ -f "$GNUSTEP_CONFIG_FILE" ]; then
- . "$GNUSTEP_CONFIG_FILE"
-fi
-
-# FIXME: determining GNUSTEP_HOME
-GNUSTEP_HOME=~
-
-# Read the user configuration file ... unless it is disabled (ie, set
-# to an empty string)
-if [ -n "$GNUSTEP_USER_CONFIG_FILE" ]; then
- case "$GNUSTEP_USER_CONFIG_FILE" in
- /*) # An absolute path
- if [ -f "$GNUSTEP_USER_CONFIG_FILE" ]; then
- . "$GNUSTEP_USER_CONFIG_FILE"
- fi;;
- *) # Something else
- if [ -f "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE" ]; then
- . "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE"
- fi;;
- esac
-fi
-
-# Now, set any essential variable (that is not already set) to the
-# built-in values.
-
-# This is deprecated and will be removed
-if [ -z "$GNUSTEP_SYSTEM_ROOT" ]; then
- address@hidden@
-fi
-
-# This is deprecated and will be removed
-if [ -z "$GNUSTEP_LOCAL_ROOT" ]; then
- address@hidden@
-fi
-
-# This is deprecated and will be removed
-if [ -z "$GNUSTEP_NETWORK_ROOT" ]; then
- address@hidden@
-fi
-
export GNUSTEP_SYSTEM_ROOT GNUSTEP_LOCAL_ROOT GNUSTEP_NETWORK_ROOT
-
-# GNUSTEP_FLATTENED is obsolete, please use GNUSTEP_IS_FLATTENED
-# instead
address@hidden@
address@hidden@
-if [ -z "$LIBRARY_COMBO" ]; then
- address@hidden@
-fi
-export GNUSTEP_IS_FLATTENED GNUSTEP_FLATTENED LIBRARY_COMBO
-
-if [ -z "$GNUSTEP_MAKEFILES" ]; then
- address@hidden@
-fi
-export GNUSTEP_MAKEFILES
-
-if [ -z "$GNUSTEP_USER_DIR" ]; then
- address@hidden@
-fi
-
-#
-# Set GNUSTEP_USER_ROOT which is the variable used in practice
-#
-case "$GNUSTEP_USER_DIR" in
- /*) # An absolute path
- GNUSTEP_USER_ROOT="$GNUSTEP_USER_DIR";;
- *) # Something else
- GNUSTEP_USER_ROOT="$GNUSTEP_HOME/$GNUSTEP_USER_DIR";;
-esac
-
-# This is deprecated and will be removed
export GNUSTEP_USER_ROOT
-
-# If multi-platform support is disabled, just use the hardcoded cpu,
-# vendor and os determined when gnustep-make was configured. The
-# reason using the hardcoded ones might be better is that config.guess
-# and similar scripts might even require compiling test files to
-# determine the platform - but then you can't source GNUstep.sh
-# without having gcc, binutils, libc6-dev installed. Which can be a
-# problem for end-users who are not developers and have no development
-# tools installed. To prevent this problem, unless we were configured
-# to determine the platform at run time, by default we use the
-# hardcoded values of GNUSTEP_HOST*.
-if [ -z "@GNUSTEP_MULTI_PLATFORM@" ]; then
- address@hidden@
- address@hidden@
- address@hidden@
- address@hidden@
-fi
-
-#
-# Determine the host information
-#
-if [ -z "$GNUSTEP_HOST" ]; then
- # Not all shells (e.g. /bin/sh on FreeBSD < 4.0 or ash) have pushd/popd
- tmpdir=`pwd`; cd /tmp
- GNUSTEP_HOST=`$GNUSTEP_MAKEFILES/config.guess`
- GNUSTEP_HOST=`$GNUSTEP_MAKEFILES/config.sub $GNUSTEP_HOST`
- cd "$tmpdir"
- unset tmpdir
-fi
-
-if [ -z "$GNUSTEP_HOST_CPU" ]; then
- GNUSTEP_HOST_CPU=`$GNUSTEP_MAKEFILES/cpu.sh $GNUSTEP_HOST`
- GNUSTEP_HOST_CPU=`$GNUSTEP_MAKEFILES/clean_cpu.sh $GNUSTEP_HOST_CPU`
-fi
-
-if [ -z "$GNUSTEP_HOST_VENDOR" ]; then
- GNUSTEP_HOST_VENDOR=`$GNUSTEP_MAKEFILES/vendor.sh $GNUSTEP_HOST`
- GNUSTEP_HOST_VENDOR=`$GNUSTEP_MAKEFILES/clean_vendor.sh $GNUSTEP_HOST_VENDOR`
-fi
-
-if [ -z "$GNUSTEP_HOST_OS" ]; then
- GNUSTEP_HOST_OS=`$GNUSTEP_MAKEFILES/os.sh $GNUSTEP_HOST`
- GNUSTEP_HOST_OS=`$GNUSTEP_MAKEFILES/clean_os.sh $GNUSTEP_HOST_OS`
-fi
-
export GNUSTEP_HOST GNUSTEP_HOST_CPU GNUSTEP_HOST_VENDOR GNUSTEP_HOST_OS
-# Now load in all the remaining paths
-. $GNUSTEP_MAKEFILES/filesystem.sh
-
-# No longer needed
-unset GNUSTEP_HOME
-
# Determine if the paths look like Windows paths that need fixing
fixup_paths=no
if [ -z "`echo $GNUSTEP_MAKEFILES | sed 's|^[a-zA-Z]:/.*$||'`" ]; then
fixup_paths=yes
fi
-# GNUSTEP_PATHLIST is deprecated and will be removed.
#
-# GNUSTEP_PATHLIST is like an abstract path-like shell variable, which
-# can be used to search the gnustep directories - and in these
-# scripts, it is also used to set up other shell variables
-#
-if [ -z "$GNUSTEP_PATHLIST" ]; then
-
- GNUSTEP_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_ROOT" "$GNUSTEP_LOCAL_ROOT" "$GNUSTEP_NETWORK_ROOT" "$GNUSTEP_SYSTEM_ROOT" $fixup_paths`
- export GNUSTEP_PATHLIST
-fi
-
-#
# Add path to Tools to PATH
#
GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" $fixup_paths`
@@ -375,66 +237,6 @@
. "$GNUSTEP_USER_ROOT/GNUstep.sh"
fi
-#
-# Clean up the environment by removing the filesystem variables. Do
-# it unless we were explicitly requested not to clean it up! Mostly
-# gnustep-config will request that the environment is not cleaned up,
-# so it can print out all of the GNUstep variables.
-#
-if [ -n "$GNUSTEP_SH_EXPORT_ALL_VARIABLES" ]; then
- export GNUSTEP_SYSTEM_APPS GNUSTEP_SYSTEM_TOOLS GNUSTEP_SYSTEM_LIBRARY
- export GNUSTEP_SYSTEM_HEADERS GNUSTEP_SYSTEM_LIBRARIES
- export GNUSTEP_SYSTEM_DOCUMENTATION GNUSTEP_SYSTEM_DOCUMENTATION_MAN GNUSTEP_SYSTEM_DOCUMENTATION_INFO
-
- export GNUSTEP_LOCAL_APPS GNUSTEP_LOCAL_TOOLS GNUSTEP_LOCAL_LIBRARY
- export GNUSTEP_LOCAL_HEADERS GNUSTEP_LOCAL_LIBRARIES
- export GNUSTEP_LOCAL_DOCUMENTATION GNUSTEP_LOCAL_DOCUMENTATION_MAN GNUSTEP_LOCAL_DOCUMENTATION_INFO
-
- export GNUSTEP_NETWORK_APPS GNUSTEP_NETWORK_TOOLS GNUSTEP_NETWORK_LIBRARY
- export GNUSTEP_NETWORK_HEADERS GNUSTEP_NETWORK_LIBRARIES
- export GNUSTEP_NETWORK_DOCUMENTATION GNUSTEP_NETWORK_DOCUMENTATION_MAN GNUSTEP_NETWORK_DOCUMENTATION_INFO
-
- export GNUSTEP_USER_APPS GNUSTEP_USER_TOOLS GNUSTEP_USER_LIBRARY
- export GNUSTEP_USER_HEADERS GNUSTEP_USER_LIBRARIES
- export GNUSTEP_USER_DOCUMENTATION GNUSTEP_USER_DOCUMENTATION_MAN GNUSTEP_USER_DOCUMENTATION_INFO
-else
- unset GNUSTEP_SYSTEM_APPS
- unset GNUSTEP_SYSTEM_TOOLS
- unset GNUSTEP_SYSTEM_LIBRARY
- unset GNUSTEP_SYSTEM_HEADERS
- unset GNUSTEP_SYSTEM_LIBRARIES
- unset GNUSTEP_SYSTEM_DOCUMENTATION
- unset GNUSTEP_SYSTEM_DOCUMENTATION_MAN
- unset GNUSTEP_SYSTEM_DOCUMENTATION_INFO
-
- unset GNUSTEP_LOCAL_APPS
- unset GNUSTEP_LOCAL_TOOLS
- unset GNUSTEP_LOCAL_LIBRARY
- unset GNUSTEP_LOCAL_HEADERS
- unset GNUSTEP_LOCAL_LIBRARIES
- unset GNUSTEP_LOCAL_DOCUMENTATION
- unset GNUSTEP_LOCAL_DOCUMENTATION_MAN
- unset GNUSTEP_LOCAL_DOCUMENTATION_INFO
-
- unset GNUSTEP_NETWORK_APPS
- unset GNUSTEP_NETWORK_TOOLS
- unset GNUSTEP_NETWORK_LIBRARY
- unset GNUSTEP_NETWORK_HEADERS
- unset GNUSTEP_NETWORK_LIBRARIES
- unset GNUSTEP_NETWORK_DOCUMENTATION
- unset GNUSTEP_NETWORK_DOCUMENTATION_MAN
- unset GNUSTEP_NETWORK_DOCUMENTATION_INFO
-
- unset GNUSTEP_USER_APPS
- unset GNUSTEP_USER_TOOLS
- unset GNUSTEP_USER_LIBRARY
- unset GNUSTEP_USER_HEADERS
- unset GNUSTEP_USER_LIBRARIES
- unset GNUSTEP_USER_DOCUMENTATION
- unset GNUSTEP_USER_DOCUMENTATION_MAN
- unset GNUSTEP_USER_DOCUMENTATION_INFO
-fi
-
if [ -n "$GS_ZSH_NEED_TO_RESTORE_SET" ]; then
set +y
fi
Index: common.make
===================================================================
--- common.make (revision 24586)
+++ common.make (working copy)
@@ -32,6 +32,23 @@
# from having to recompute it!
export GNUSTEP_MAKEFILES
+# during the build will be placed. '.' means it's the same as the
+# source directory; this case is the default/common and we optimize
+# for it whenever possible.
+ifeq ($(GNUSTEP_BUILD_DIR),)
+ GNUSTEP_BUILD_DIR = .
+endif
+
+ifeq ($(CONFIG_FILE),)
+CONFIG_FILE=$(CURDIR)/gnustep-config.make
+$(shell step-config gnustep -o $(CONFIG_FILE) -l -f make)
+# export this to avoid recreation in sub-GNUmakefiles
+export CONFIG_FILE
+endif
+
+include $(CONFIG_FILE)
+export GNUSTEP_HEADERS_FLAGS
+
#
# Get the global config information. This includes
# GNUSTEP_SYSTEM_ROOT, GNUSTEP_MAKE_VERSION, GNUSTEP_IS_FLATTENED,
@@ -80,13 +97,6 @@
#
include $(GNUSTEP_MAKEFILES)/$(GNUSTEP_TARGET_LDIR)/config.make
-# GNUSTEP_BUILD_DIR is the directory in which anything generated
-# during the build will be placed. '.' means it's the same as the
-# source directory; this case is the default/common and we optimize
-# for it whenever possible.
-ifeq ($(GNUSTEP_BUILD_DIR),)
- GNUSTEP_BUILD_DIR = .
-endif
#
# Get standard messages
@@ -274,106 +284,7 @@
# Now prepare the library and header flags - we first prepare the list
# of directories (trying to avoid duplicates in the list), then
# optionally remove the empty ones, then prepend -I / -L to them.
-ifeq ($(GNUSTEP_IS_FLATTENED), no)
-# The following variables have to be evaluated after setting domain to
-# something, such as USER. When you evaluate them in that situation,
-# they will generate paths according to the following definition.
-# Later, we'll systematically replace domain with USER, the LOCAL,
-# then NETWORK, then SYSTEM.
-GS_HEADER_PATH = \
- $(GNUSTEP_$(domain)_HEADERS)/$(GNUSTEP_TARGET_DIR) \
- $(GNUSTEP_$(domain)_HEADERS)
-
-GS_LIBRARY_PATH = \
- $(GNUSTEP_$(domain)_LIBRARIES)/$(GNUSTEP_TARGET_LDIR) \
- $(GNUSTEP_$(domain)_LIBRARIES)/$(GNUSTEP_TARGET_DIR)
-
-else
-
-# In the flattened case, the paths to generate are considerably simpler.
-
-GS_HEADER_PATH = $(GNUSTEP_$(domain)_HEADERS)
-GS_LIBRARY_PATH = $(GNUSTEP_$(domain)_LIBRARIES)
-
-endif
-
-ifeq ($(FOUNDATION_LIB), apple)
-GS_FRAMEWORK_PATH = $(GNUSTEP_$(domain)_FRAMEWORKS)
-else
-GS_FRAMEWORK_PATH =
-endif
-
-# First, we add paths based in the USER domain.
-
-# Please note that the following causes GS_HEADER_PATH to be evaluated
-# with the variable domain equal to USER, which gives the effect we
-# wanted.
-GNUSTEP_HEADERS_DIRS = $(foreach domain,USER,$(GS_HEADER_PATH))
-GNUSTEP_LIBRARIES_DIRS = $(foreach domain,USER,$(GS_LIBRARY_PATH))
-GNUSTEP_FRAMEWORKS_DIRS = $(foreach domain,USER,$(GS_FRAMEWORK_PATH))
-
-# Second, if LOCAL flags are different from USER flags (which have
-# already been added), we add the LOCAL flags too.
-ifneq ($(GNUSTEP_LOCAL_HEADERS), $(GNUSTEP_USER_HEADERS))
-GNUSTEP_HEADERS_DIRS += $(foreach domain,LOCAL,$(GS_HEADER_PATH))
-endif
-
-ifneq ($(GNUSTEP_LOCAL_LIBRARIES), $(GNUSTEP_USER_LIBRARIES))
-GNUSTEP_LIBRARIES_DIRS += $(foreach domain,LOCAL,$(GS_LIBRARY_PATH))
-endif
-
-ifneq ($(GNUSTEP_LOCAL_FRAMEWORKS), $(GNUSTEP_USER_FRAMEWORKS))
-GNUSTEP_FRAMEWORKS_DIRS += $(foreach domain,LOCAL,$(GS_FRAMEWORK_PATH))
-endif
-
-# Third, if NETWORK flags are different from USER and LOCAL flags (which
-# have already been added), we add those too.
-ifneq ($(GNUSTEP_NETWORK_HEADERS), $(GNUSTEP_USER_HEADERS))
-ifneq ($(GNUSTEP_NETWORK_HEADERS), $(GNUSTEP_LOCAL_HEADERS))
-GNUSTEP_HEADERS_DIRS += $(foreach domain,NETWORK,$(GS_HEADER_PATH))
-endif
-endif
-
-ifneq ($(GNUSTEP_NETWORK_LIBRARIES), $(GNUSTEP_USER_LIBRARIES))
-ifneq ($(GNUSTEP_NETWORK_LIBRARIES), $(GNUSTEP_LOCAL_LIBRARIES))
-GNUSTEP_LIBRARIES_DIRS += $(foreach domain,NETWORK,$(GS_LIBRARY_PATH))
-endif
-endif
-
-ifneq ($(GNUSTEP_NETWORK_FRAMEWORKS), $(GNUSTEP_USER_FRAMEWORKS))
-ifneq ($(GNUSTEP_NETWORK_FRAMEWORKS), $(GNUSTEP_LOCAL_FRAMEWORKS))
-GNUSTEP_FRAMEWORKS_DIRS += $(foreach domain,NETWORK,$(GS_FRAMEWORK_PATH))
-endif
-endif
-
-# Last, if SYSTEM flags are different from USER, LOCAL and NETWORK
-# flags (which have already been added), we add the ones based on
-# SYSTEM too.
-ifneq ($(GNUSTEP_SYSTEM_HEADERS), $(GNUSTEP_USER_HEADERS))
-ifneq ($(GNUSTEP_SYSTEM_HEADERS), $(GNUSTEP_LOCAL_HEADERS))
-ifneq ($(GNUSTEP_SYSTEM_HEADERS), $(GNUSTEP_NETWORK_HEADERS))
-GNUSTEP_HEADERS_DIRS += $(foreach domain,SYSTEM,$(GS_HEADER_PATH))
-endif
-endif
-endif
-
-ifneq ($(GNUSTEP_SYSTEM_LIBRARIES), $(GNUSTEP_USER_LIBRARIES))
-ifneq ($(GNUSTEP_SYSTEM_LIBRARIES), $(GNUSTEP_LOCAL_LIBRARIES))
-ifneq ($(GNUSTEP_SYSTEM_LIBRARIES), $(GNUSTEP_NETWORK_LIBRARIES))
-GNUSTEP_LIBRARIES_DIRS += $(foreach domain,SYSTEM,$(GS_LIBRARY_PATH))
-endif
-endif
-endif
-
-ifneq ($(GNUSTEP_SYSTEM_FRAMEWORKS), $(GNUSTEP_USER_FRAMEWORKS))
-ifneq ($(GNUSTEP_SYSTEM_FRAMEWORKS), $(GNUSTEP_LOCAL_FRAMEWORKS))
-ifneq ($(GNUSTEP_SYSTEM_FRAMEWORKS), $(GNUSTEP_NETWORK_FRAMEWORKS))
-GNUSTEP_FRAMEWORKS_DIRS += $(foreach domain,SYSTEM,$(GS_FRAMEWORK_PATH))
-endif
-endif
-endif
-
ifeq ($(REMOVE_EMPTY_DIRS),yes)
# This variable, when evaluated, gives $(dir) if dir is non-empty, and
# nothing if dir is empty.
@@ -400,11 +311,6 @@
$(addprefix -L,$(foreach dir,$(GNUSTEP_LIBRARIES_DIRS),$(remove_if_empty)))
GNUSTEP_FRAMEWORKS_FLAGS = \
$(addprefix -F,$(foreach dir,$(GNUSTEP_FRAMEWORKS_DIRS),$(remove_if_empty)))
-else
- # Default case, just add -I / -L
- GNUSTEP_HEADERS_FLAGS = $(addprefix -I,$(GNUSTEP_HEADERS_DIRS))
- GNUSTEP_LIBRARIES_FLAGS = $(addprefix -L,$(GNUSTEP_LIBRARIES_DIRS))
- GNUSTEP_FRAMEWORKS_FLAGS = $(addprefix -F,$(GNUSTEP_FRAMEWORKS_DIRS))
endif
ifeq ($(FOUNDATION_LIB), fd)
Index: filesystem.make.in
===================================================================
--- filesystem.make.in (revision 24586)
+++ filesystem.make.in (working copy)
@@ -1,198 +0,0 @@
-#
-# filesystem.make
-#
-# Sets up the filesystem paths
-#
-# Copyright (C) 2007 Free Software Foundation, Inc.
-#
-# Author: Nicola Pero ,
-# Matt Rice ,
-#
-# Date: February 2007
-#
-# This file is part of the GNUstep Makefile Package.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# You should have received a copy of the GNU General Public
-# License along with this library; see the file COPYING.LIB.
-# If not, write to the Free Software Foundation,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-#
-# We make sure that all the interesting paths in all domains are
-# defined. Having this is a great help in iterating over header dirs,
-# for example.
-#
-# PS: If you change this list, make sure that top update the list of
-# paths used in common.make when GNUSTEP_INSTALLATION_DIR is set.
-#
-
-#
-# We use '?=' to only set variables that have not already been set by
-# the user in the config files (that should be read before this file).
-# So, this describes the GNUstep filesystem default that is
-# automatically used when the config file is missing some settings.
-#
-# Some directories are fixed to be subdirectories of Library.
-#
-# We keep the list in this simple format (instead of generating it
-# from functions, for example) to make it very easy to read for
-# everyone.
-#
-
-#
-# SYSTEM domain
-#
-GNUSTEP_SYSTEM_APPS ?= @GNUSTEP_SYSTEM_APPS@
-GNUSTEP_SYSTEM_TOOLS ?= @GNUSTEP_SYSTEM_TOOLS@
-GNUSTEP_SYSTEM_LIBRARY ?= @GNUSTEP_SYSTEM_LIBRARY@
-GNUSTEP_SYSTEM_HEADERS ?= @GNUSTEP_SYSTEM_HEADERS@
-GNUSTEP_SYSTEM_LIBRARIES ?= @GNUSTEP_SYSTEM_LIBRARIES@
-GNUSTEP_SYSTEM_DOCUMENTATION ?= @GNUSTEP_SYSTEM_DOCUMENTATION@
-GNUSTEP_SYSTEM_DOCUMENTATION_MAN ?= @GNUSTEP_SYSTEM_DOCUMENTATION_MAN@
-GNUSTEP_SYSTEM_DOCUMENTATION_INFO ?= @GNUSTEP_SYSTEM_DOCUMENTATION_INFO@
-
-#
-# SYSTEM domain, variables that are fixed to subdirs of LIBRARY
-#
-GNUSTEP_SYSTEM_APPLICATION_SUPPORT = $(GNUSTEP_SYSTEM_LIBRARY)/ApplicationSupport
-GNUSTEP_SYSTEM_BUNDLES = $(GNUSTEP_SYSTEM_LIBRARY)/Bundles
-GNUSTEP_SYSTEM_FRAMEWORKS = $(GNUSTEP_SYSTEM_LIBRARY)/Frameworks
-GNUSTEP_SYSTEM_PALETTES = $(GNUSTEP_SYSTEM_LIBRARY)/ApplicationSupport/Palettes
-GNUSTEP_SYSTEM_SERVICES = $(GNUSTEP_SYSTEM_LIBRARY)/Services
-GNUSTEP_SYSTEM_RESOURCES = $(GNUSTEP_SYSTEM_LIBRARY)/Libraries/Resources
-GNUSTEP_SYSTEM_JAVA = $(GNUSTEP_SYSTEM_LIBRARY)/Libraries/Java
-
-
-#
-# LOCAL domain
-#
-GNUSTEP_LOCAL_APPS ?= @GNUSTEP_LOCAL_APPS@
-GNUSTEP_LOCAL_TOOLS ?= @GNUSTEP_LOCAL_TOOLS@
-GNUSTEP_LOCAL_LIBRARY ?= @GNUSTEP_LOCAL_LIBRARY@
-GNUSTEP_LOCAL_HEADERS ?= @GNUSTEP_LOCAL_HEADERS@
-GNUSTEP_LOCAL_LIBRARIES ?= @GNUSTEP_LOCAL_LIBRARIES@
-GNUSTEP_LOCAL_DOCUMENTATION ?= @GNUSTEP_LOCAL_DOCUMENTATION@
-GNUSTEP_LOCAL_DOCUMENTATION_MAN ?= @GNUSTEP_LOCAL_DOCUMENTATION_MAN@
-GNUSTEP_LOCAL_DOCUMENTATION_INFO ?= @GNUSTEP_LOCAL_DOCUMENTATION_INFO@
-
-#
-# LOCAL domain, variables that are fixed to subdirs of LIBRARY
-#
-GNUSTEP_LOCAL_APPLICATION_SUPPORT = $(GNUSTEP_LOCAL_LIBRARY)/ApplicationSupport
-GNUSTEP_LOCAL_BUNDLES = $(GNUSTEP_LOCAL_LIBRARY)/Bundles
-GNUSTEP_LOCAL_FRAMEWORKS = $(GNUSTEP_LOCAL_LIBRARY)/Frameworks
-GNUSTEP_LOCAL_PALETTES = $(GNUSTEP_LOCAL_LIBRARY)/ApplicationSupport/Palettes
-GNUSTEP_LOCAL_SERVICES = $(GNUSTEP_LOCAL_LIBRARY)/Services
-GNUSTEP_LOCAL_RESOURCES = $(GNUSTEP_LOCAL_LIBRARY)/Libraries/Resources
-GNUSTEP_LOCAL_JAVA = $(GNUSTEP_LOCAL_LIBRARY)/Libraries/Java
-
-
-
-#
-# NETWORK domain
-#
-GNUSTEP_NETWORK_APPS ?= @GNUSTEP_NETWORK_APPS@
-GNUSTEP_NETWORK_TOOLS ?= @GNUSTEP_NETWORK_TOOLS@
-GNUSTEP_NETWORK_LIBRARY ?= @GNUSTEP_NETWORK_LIBRARY@
-GNUSTEP_NETWORK_HEADERS ?= @GNUSTEP_NETWORK_HEADERS@
-GNUSTEP_NETWORK_LIBRARIES ?= @GNUSTEP_NETWORK_LIBRARIES@
-GNUSTEP_NETWORK_DOCUMENTATION ?= @GNUSTEP_NETWORK_DOCUMENTATION@
-GNUSTEP_NETWORK_DOCUMENTATION_MAN ?= @GNUSTEP_NETWORK_DOCUMENTATION_MAN@
-GNUSTEP_NETWORK_DOCUMENTATION_INFO ?= @GNUSTEP_NETWORK_DOCUMENTATION_INFO@
-
-#
-# NETWORK domain, variables that are fixed to subdirs of LIBRARY
-#
-GNUSTEP_NETWORK_APPLICATION_SUPPORT = $(GNUSTEP_NETWORK_LIBRARY)/ApplicationSupport
-GNUSTEP_NETWORK_BUNDLES = $(GNUSTEP_NETWORK_LIBRARY)/Bundles
-GNUSTEP_NETWORK_FRAMEWORKS = $(GNUSTEP_NETWORK_LIBRARY)/Frameworks
-GNUSTEP_NETWORK_PALETTES = $(GNUSTEP_NETWORK_LIBRARY)/ApplicationSupport/Palettes
-GNUSTEP_NETWORK_SERVICES = $(GNUSTEP_NETWORK_LIBRARY)/Services
-GNUSTEP_NETWORK_RESOURCES = $(GNUSTEP_NETWORK_LIBRARY)/Libraries/Resources
-GNUSTEP_NETWORK_JAVA = $(GNUSTEP_NETWORK_LIBRARY)/Libraries/Java
-
-
-#
-# USER domain
-# Please note that here the GNUstep.conf values are called GNUSTEP_USER_DIR_*
-# which we convert into the actual GNUSTEP_USER_* after prepending (if needed)
-# GNUSTEP_HOME.
-#
-GNUSTEP_USER_DIR_APPS ?= @GNUSTEP_USER_DIR_APPS@
-GNUSTEP_USER_DIR_TOOLS ?= @GNUSTEP_USER_DIR_TOOLS@
-GNUSTEP_USER_DIR_LIBRARY ?= @GNUSTEP_USER_DIR_LIBRARY@
-GNUSTEP_USER_DIR_HEADERS ?= @GNUSTEP_USER_DIR_HEADERS@
-GNUSTEP_USER_DIR_LIBRARIES ?= @GNUSTEP_USER_DIR_LIBRARIES@
-GNUSTEP_USER_DIR_DOCUMENTATION ?= @GNUSTEP_USER_DIR_DOCUMENTATION@
-GNUSTEP_USER_DIR_DOCUMENTATION_MAN ?= @GNUSTEP_USER_DIR_DOCUMENTATION_MAN@
-GNUSTEP_USER_DIR_DOCUMENTATION_INFO ?= @GNUSTEP_USER_DIR_DOCUMENTATION_INFO@
-
-# Now, any directories in the user domain that are relative (ie, they
-# don't start with '/') get automatically prefixed with GNUSTEP_HOME.
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_APPS)),)
- # Path starts with '/', so we can use it as it is
- GNUSTEP_USER_APPS = $(GNUSTEP_USER_DIR_APPS)
-else
- # Path does no start with '/', consider it as relative to GNUSTEP_HOME
- GNUSTEP_USER_APPS = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_APPS)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_TOOLS)),)
- GNUSTEP_USER_TOOLS = $(GNUSTEP_USER_DIR_TOOLS)
-else
- GNUSTEP_USER_TOOLS = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_TOOLS)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_LIBRARY)),)
- GNUSTEP_USER_LIBRARY = $(GNUSTEP_USER_DIR_LIBRARY)
-else
- GNUSTEP_USER_LIBRARY = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_LIBRARY)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_HEADERS)),)
- GNUSTEP_USER_HEADERS = $(GNUSTEP_USER_DIR_HEADERS)
-else
- GNUSTEP_USER_HEADERS = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_HEADERS)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_LIBRARIES)),)
- GNUSTEP_USER_LIBRARIES = $(GNUSTEP_USER_DIR_LIBRARIES)
-else
- GNUSTEP_USER_LIBRARIES = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_LIBRARIES)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_DOCUMENTATION)),)
- GNUSTEP_USER_DOCUMENTATION = $(GNUSTEP_USER_DIR_DOCUMENTATION)
-else
- GNUSTEP_USER_DOCUMENTATION = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_DOCUMENTATION)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_DOCUMENTATION_MAN)),)
- GNUSTEP_USER_DOCUMENTATION_MAN = $(GNUSTEP_USER_DIR_DOCUMENTATION_MAN)
-else
- GNUSTEP_USER_DOCUMENTATION_MAN = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_DOCUMENTATION_MAN)
-endif
-
-ifneq ($(filter /%, $(GNUSTEP_USER_DIR_DOCUMENTATION_INFO)),)
- GNUSTEP_USER_DOCUMENTATION_INFO = $(GNUSTEP_USER_DIR_DOCUMENTATION_INFO)
-else
- GNUSTEP_USER_DOCUMENTATION_INFO = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR_DOCUMENTATION_INFO)
-endif
-
-
-#
-# USER domain, variables that are fixed to subdirs of LIBRARY
-#
-GNUSTEP_USER_APPLICATION_SUPPORT = $(GNUSTEP_USER_LIBRARY)/ApplicationSupport
-GNUSTEP_USER_BUNDLES = $(GNUSTEP_USER_LIBRARY)/Bundles
-GNUSTEP_USER_FRAMEWORKS = $(GNUSTEP_USER_LIBRARY)/Frameworks
-GNUSTEP_USER_PALETTES = $(GNUSTEP_USER_LIBRARY)/ApplicationSupport/Palettes
-GNUSTEP_USER_SERVICES = $(GNUSTEP_USER_LIBRARY)/Services
-GNUSTEP_USER_RESOURCES = $(GNUSTEP_USER_LIBRARY)/Libraries/Resources
-GNUSTEP_USER_JAVA = $(GNUSTEP_USER_LIBRARY)/Libraries/Java