Changed to restructure subdirectory layout for binaries and system dependent

resources in a non-flattened installation.  First step towards seamless
Debian multiarch support.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39918 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2016-06-25 07:12:41 +00:00
parent 124afa845a
commit ecfbd24d8e
11 changed files with 168 additions and 85 deletions

View file

@ -1044,31 +1044,48 @@ if test x"$GNUSTEP_LOCAL_LIBRARIES" = x""; then
GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_ROOT/Library/Libraries"
fi
if test x"$GNUSTEP_IS_FLATTENED" = x"no"; then
GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_HEADERS/$LIBRARY_COMBO"
GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_HEADERS/$LIBRARY_COMBO"
GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_HEADERS/$LIBRARY_COMBO"
# FIXME: Cross-compiling should read the target from the configure
# options and use it. GNUSTEP_TARGET_* variables do not exist in
# this context (so "$GNUSTEP_TARGET_CPU" will always be "")
if test x"$GNUSTEP_TARGET_CPU" = x""; then
GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
else
GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO"
GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO"
GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO"
fi
fi
#
# Add standard library and header directories for configure to use to locate
# plain C developer headers/libraries which have been installed in the
# GNUstep hierarchy. These take precedence
#
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS -I$GNUSTEP_NETWORK_HEADERS -I$GNUSTEP_SYSTEM_HEADERS"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES -L$GNUSTEP_NETWORK_LIBRARIES -L$GNUSTEP_SYSTEM_LIBRARIES"
if test x"$GNUSTEP_IS_FLATTENED" = x"yes"; then
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES"
LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES"
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES"
else
# FIXME: Cross-compiling should read the target from the configure
# options and use it. GNUSTEP_TARGET_* variables do not exist in
# this context (so "$GNUSTEP_TARGET_CPU" will always be "")
if test x"$GNUSTEP_TARGET_CPU" = x""; then
ARCH="$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS"
else
ARCH=$GNUSTEP_TARGET_CPU-$GNUSTEP_TARGET_OS
fi
ALIB="$ARCH/$LIBRARY_COMBO"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ALIB"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ARCH"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ALIB"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ARCH"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ALIB"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ARCH"
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ALIB"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ARCH"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES"
LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ALIB"
LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ARCH"
LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES"
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ALIB"
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ARCH"
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES"
fi
#--------------------------------------------------------------------
# Find the compiler
@ -2715,10 +2732,8 @@ fi
#--------------------------------------------------------------------
# Check for FFI interface libraries for invocations
# We enable ffi by default now, as it's fixed for some previouly bad
# platforms, and it has the advantage over ffcall that it does not
# mess up the stack, so stacktraces and native exception handling
# work better with it.
# We enable ffi by default now, as it's the only well supported
# library nowadays.
#--------------------------------------------------------------------
do_broken_libffi=no
do_broken_libffcall=no