Introduced new configure option --distro-compatibility to specify the
compatibility relation to the official Haiku distribution. "official"
is for the official Haiku distribution itself, "compatible" for Haiku
Compatible (tm) distros, and "default" for all others (the default value
for the option). The build system variable HAIKU_DISTRO_COMPATIBILITY is
defined accordingly, and one of the
HAIKU_DISTRO_COMPATIBILITY_{OFFICIAL,COMPATIBLE,DEFAULT} macros is
defined for source code and rdefs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21177 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -102,6 +102,16 @@ HAIKU_KERNEL_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) ;
|
|||||||
HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) ;
|
HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) ;
|
||||||
HAIKU_DEFINES = __HAIKU__ ;
|
HAIKU_DEFINES = __HAIKU__ ;
|
||||||
|
|
||||||
|
# distro compatibility level defines
|
||||||
|
HAIKU_DISTRO_COMPATIBILITY ?= "default" ;
|
||||||
|
switch $(HAIKU_DISTRO_COMPATIBILITY) {
|
||||||
|
case official : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_OFFICIAL ;
|
||||||
|
case compatible : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_COMPATIBLE ;
|
||||||
|
case "default" : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_DEFAULT ;
|
||||||
|
case * : Exit "Invalid value for HAIKU_DISTRO_COMPATIBILITY:"
|
||||||
|
$(HAIKU_DISTRO_COMPATIBILITY) ;
|
||||||
|
}
|
||||||
|
|
||||||
# analyze the gcc machine spec to determine HAIKU_CPU
|
# analyze the gcc machine spec to determine HAIKU_CPU
|
||||||
switch $(HAIKU_GCC_MACHINE) {
|
switch $(HAIKU_GCC_MACHINE) {
|
||||||
case i386-* : HAIKU_CPU = x86 ;
|
case i386-* : HAIKU_CPU = x86 ;
|
||||||
|
|||||||
@@ -33,6 +33,14 @@ options:
|
|||||||
compilation tools are located, plus the platform
|
compilation tools are located, plus the platform
|
||||||
prefix, e.g. "/path/to/tools/i586-pc-beos-".
|
prefix, e.g. "/path/to/tools/i586-pc-beos-".
|
||||||
This overrides the HAIKU_* tool variables.
|
This overrides the HAIKU_* tool variables.
|
||||||
|
--distro-compatibility <level>
|
||||||
|
The distribution's level of compatibility with
|
||||||
|
the official Haiku distribution. The generated
|
||||||
|
files will contain the respective trademarks
|
||||||
|
accordingly.
|
||||||
|
official -- the official Haiku distribution.
|
||||||
|
compatible -- a Haiku Compatible (tm) distro.
|
||||||
|
default -- any other distro (default value).
|
||||||
--help Prints out this help.
|
--help Prints out this help.
|
||||||
--include-gpl-addons Include GPL licensed add-ons.
|
--include-gpl-addons Include GPL licensed add-ons.
|
||||||
--target=TARGET Select build target platform. [default=${target}]
|
--target=TARGET Select build target platform. [default=${target}]
|
||||||
@@ -209,6 +217,7 @@ haikuCxxHeadersDir=
|
|||||||
hostGCCVersion=`gcc -dumpversion`
|
hostGCCVersion=`gcc -dumpversion`
|
||||||
bochs_debug=0
|
bochs_debug=0
|
||||||
include_gpl_addons=0
|
include_gpl_addons=0
|
||||||
|
distroCompatibility=default
|
||||||
target=haiku
|
target=haiku
|
||||||
use_gcc_pipe=0
|
use_gcc_pipe=0
|
||||||
use_xattr=0
|
use_xattr=0
|
||||||
@@ -251,6 +260,17 @@ while [ $# -gt 0 ] ; do
|
|||||||
--cross-tools-prefix) assertparam "$1" $#; crossToolsPrefix=$2; shift 2;;
|
--cross-tools-prefix) assertparam "$1" $#; crossToolsPrefix=$2; shift 2;;
|
||||||
--help | -h) usage; exit 0;;
|
--help | -h) usage; exit 0;;
|
||||||
--include-gpl-addons) include_gpl_addons=1; shift 1;;
|
--include-gpl-addons) include_gpl_addons=1; shift 1;;
|
||||||
|
--distro-compatibility)
|
||||||
|
assertparam "$1" $#; distroCompatibility=$2;
|
||||||
|
case "$distroCompatibility" in
|
||||||
|
official) ;;
|
||||||
|
compatible) ;;
|
||||||
|
default) ;;
|
||||||
|
*) echo "Invalid distro compatibility" \
|
||||||
|
"level: $distroCompatibility"
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
shift 2;;
|
||||||
--target=*) target=`echo $1 | cut -d'=' -f2-`; shift 1;;
|
--target=*) target=`echo $1 | cut -d'=' -f2-`; shift 1;;
|
||||||
--use-gcc-pipe) use_gcc_pipe=1; shift 1;;
|
--use-gcc-pipe) use_gcc_pipe=1; shift 1;;
|
||||||
--use-xattr) use_xattr=1; shift 1;;
|
--use-xattr) use_xattr=1; shift 1;;
|
||||||
@@ -322,41 +342,42 @@ cat << EOF > "$buildOutputDir/BuildConfig"
|
|||||||
# BuildConfig
|
# BuildConfig
|
||||||
# Note: This file has been automatically generated by configure.
|
# Note: This file has been automatically generated by configure.
|
||||||
|
|
||||||
TARGET_PLATFORM ?= "${target}" ;
|
TARGET_PLATFORM ?= "${target}" ;
|
||||||
HOST_PLATFORM ?= "${buildPlatform}" ;
|
HOST_PLATFORM ?= "${buildPlatform}" ;
|
||||||
|
|
||||||
BOCHS_DEBUG_HACK ?= "${bochs_debug}" ;
|
BOCHS_DEBUG_HACK ?= "${bochs_debug}" ;
|
||||||
INCLUDE_GPL_ADDONS ?= "${include_gpl_addons}" ;
|
INCLUDE_GPL_ADDONS ?= "${include_gpl_addons}" ;
|
||||||
HAIKU_USE_GCC_PIPE ?= "${use_gcc_pipe}" ;
|
HAIKU_DISTRO_COMPATIBILITY ?= "${distroCompatibility}" ;
|
||||||
HAIKU_HOST_USE_XATTR ?= "${use_xattr}" ;
|
HAIKU_USE_GCC_PIPE ?= "${use_gcc_pipe}" ;
|
||||||
|
HAIKU_HOST_USE_XATTR ?= "${use_xattr}" ;
|
||||||
|
|
||||||
HAIKU_GCC_RAW_VERSION ?= ${haikuGCCVersion} ;
|
HAIKU_GCC_RAW_VERSION ?= ${haikuGCCVersion} ;
|
||||||
HAIKU_GCC_MACHINE ?= ${haikuGCCMachine} ;
|
HAIKU_GCC_MACHINE ?= ${haikuGCCMachine} ;
|
||||||
HAIKU_GCC_LIB_DIR ?= ${HAIKU_GCC_LIB_DIR} ;
|
HAIKU_GCC_LIB_DIR ?= ${HAIKU_GCC_LIB_DIR} ;
|
||||||
HAIKU_GCC_HEADERS_DIR ?= ${HAIKU_GCC_HEADERS_DIR} ;
|
HAIKU_GCC_HEADERS_DIR ?= ${HAIKU_GCC_HEADERS_DIR} ;
|
||||||
HAIKU_GCC_LIBGCC ?= ${HAIKU_GCC_LIBGCC} ;
|
HAIKU_GCC_LIBGCC ?= ${HAIKU_GCC_LIBGCC} ;
|
||||||
|
|
||||||
HAIKU_STATIC_LIBSTDC++ ?= ${haikuStaticLibStdCxx} ;
|
HAIKU_STATIC_LIBSTDC++ ?= ${haikuStaticLibStdCxx} ;
|
||||||
HAIKU_SHARED_LIBSTDC++ ?= ${haikuSharedLibStdCxx} ;
|
HAIKU_SHARED_LIBSTDC++ ?= ${haikuSharedLibStdCxx} ;
|
||||||
HAIKU_STATIC_LIBSUPC++ ?= ${haikuStaticLibSupCxx} ;
|
HAIKU_STATIC_LIBSUPC++ ?= ${haikuStaticLibSupCxx} ;
|
||||||
HAIKU_SHARED_LIBSUPC++ ?= ${haikuSharedLibSupCxx} ;
|
HAIKU_SHARED_LIBSUPC++ ?= ${haikuSharedLibSupCxx} ;
|
||||||
HAIKU_C++_HEADERS_DIR ?= ${haikuCxxHeadersDir} ;
|
HAIKU_C++_HEADERS_DIR ?= ${haikuCxxHeadersDir} ;
|
||||||
|
|
||||||
HAIKU_BUILD_ATTRIBUTES_DIR ?= ${buildAttributesDir} ;
|
HAIKU_BUILD_ATTRIBUTES_DIR ?= ${buildAttributesDir} ;
|
||||||
|
|
||||||
HAIKU_AR ?= ${HAIKU_AR} ;
|
HAIKU_AR ?= ${HAIKU_AR} ;
|
||||||
HAIKU_CC ?= ${HAIKU_CC} ;
|
HAIKU_CC ?= ${HAIKU_CC} ;
|
||||||
HAIKU_LD ?= ${HAIKU_LD} ;
|
HAIKU_LD ?= ${HAIKU_LD} ;
|
||||||
HAIKU_OBJCOPY ?= ${HAIKU_OBJCOPY} ;
|
HAIKU_OBJCOPY ?= ${HAIKU_OBJCOPY} ;
|
||||||
HAIKU_RANLIB ?= ${HAIKU_RANLIB} ;
|
HAIKU_RANLIB ?= ${HAIKU_RANLIB} ;
|
||||||
HAIKU_CPPFLAGS ?= ${HAIKU_CPPFLAGS} ;
|
HAIKU_CPPFLAGS ?= ${HAIKU_CPPFLAGS} ;
|
||||||
HAIKU_CCFLAGS ?= ${HAIKU_CCFLAGS} ;
|
HAIKU_CCFLAGS ?= ${HAIKU_CCFLAGS} ;
|
||||||
HAIKU_CXXFLAGS ?= ${HAIKU_CXXFLAGS} ;
|
HAIKU_CXXFLAGS ?= ${HAIKU_CXXFLAGS} ;
|
||||||
HAIKU_LDFLAGS ?= ${HAIKU_LDFLAGS} ;
|
HAIKU_LDFLAGS ?= ${HAIKU_LDFLAGS} ;
|
||||||
HAIKU_ARFLAGS ?= ${HAIKU_ARFLAGS} ;
|
HAIKU_ARFLAGS ?= ${HAIKU_ARFLAGS} ;
|
||||||
HAIKU_UNARFLAGS ?= ${HAIKU_UNARFLAGS} ;
|
HAIKU_UNARFLAGS ?= ${HAIKU_UNARFLAGS} ;
|
||||||
|
|
||||||
HOST_GCC_RAW_VERSION ?= ${hostGCCVersion} ;
|
HOST_GCC_RAW_VERSION ?= ${hostGCCVersion} ;
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user