Aurelien Larcher
2018-02-21 0b2b251a2058da9ab05838e153dc36fcd0d87d81
Import build bitness macros from solaris-userland
4 files modified
85 ■■■■ changed files
make-rules/cmake.mk 9 ●●●● patch | view | raw | blame | history
make-rules/configure.mk 29 ●●●● patch | view | raw | blame | history
make-rules/shared-macros.mk 36 ●●●●● patch | view | raw | blame | history
make-rules/waf.mk 11 ●●●● patch | view | raw | blame | history
make-rules/cmake.mk
@@ -63,10 +63,17 @@
# Ref: http://www.cmake.org/cmake/help/v2.8.12/cmake.html#module:GNUInstallDirs
#
ifeq ($(strip $(PREFERRED_BITS)),64)
CMAKE_BINDIR.32 =    bin/$(MACH32)
CMAKE_BINDIR.64 =    bin
CMAKE_SBINDIR.32 =    sbin/$(MACH32)
CMAKE_SBINDIR.64 =    sbin
else
CMAKE_BINDIR.32 =    bin
CMAKE_BINDIR.64 =    bin/$(MACH64)
CMAKE_SBINDIR.32 =    sbin
CMAKE_SBINDIR.64 =    sbin/$(MACH64)
endif
CMAKE_LIBDIR.32 =    lib
CMAKE_LIBDIR.64 =    lib/$(MACH64)
CMAKE_INCLUDEDIR =    include
@@ -75,7 +82,7 @@
CMAKE_INFODIR =        $(CMAKE_DATAROOTDIR)/info
CMAKE_LOCALEDIR =    $(CMAKE_DATAROOTDIR)/locale
CMAKE_MANDIR =        $(CMAKE_DATAROOTDIR)/man
CMAKE_DOCDIR =    $(CMAKE_DATAROOTDIR)/doc
CMAKE_DOCDIR =        $(CMAKE_DATAROOTDIR)/doc
CMAKE_ENV = CONFIG_SHELL="$(CONFIG_SHELL)"
CMAKE_ENV += CC="$(CC)"
make-rules/configure.mk
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright 2011 EveryCity Ltd. All rights reserved.
#
@@ -57,12 +57,27 @@
CONFIGURE_PREFIX =    /usr
CONFIGURE_BINDIR.32 =    $(CONFIGURE_PREFIX)/bin
CONFIGURE_BINDIR.64 =    $(CONFIGURE_PREFIX)/bin/$(MACH64)
CONFIGURE_LIBDIR.32 =    $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64 =    $(CONFIGURE_PREFIX)/lib/$(MACH64)
CONFIGURE_SBINDIR.32 =    $(CONFIGURE_PREFIX)/sbin
CONFIGURE_SBINDIR.64 =    $(CONFIGURE_PREFIX)/sbin/$(MACH64)
# If the component prefers 64-bit binaries, then ensure builds deliver 64-bit
# binaries to the standard directories and 32-bit binaries to the non-standard
# location.  This allows simplification of package manifests and makes it
# easier to deliver the 64-bit binaries as the default.
ifeq ($(strip $(PREFERRED_BITS)),64)
CONFIGURE_BINDIR.32  = $(CONFIGURE_PREFIX)/bin/$(MACH32)
CONFIGURE_BINDIR.64  = $(CONFIGURE_PREFIX)/bin
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin/$(MACH32)
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin
else
CONFIGURE_BINDIR.32  = $(CONFIGURE_PREFIX)/bin
CONFIGURE_BINDIR.64  = $(CONFIGURE_PREFIX)/bin/$(MACH64)
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin/$(MACH64)
endif
# Regardless of PREFERRED_BITS, 64-bit libraries should always be delivered to
# the appropriate subdirectory by default.
CONFIGURE_LIBDIR.32  = $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64  = $(CONFIGURE_PREFIX)/lib/$(MACH64)
CONFIGURE_MANDIR =    $(CONFIGURE_PREFIX)/share/man
CONFIGURE_LOCALEDIR =    $(CONFIGURE_PREFIX)/share/locale
# all texinfo documentation seems to go to /usr/share/info no matter what
make-rules/shared-macros.mk
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
# Copyright 2017 Gary Mills
# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
#
# These symbols should be used in component Makefiles
@@ -111,6 +111,40 @@
COMPILER =        gcc
LINKER =        gcc
BITS =            32
# The values of BITS changes during the build process for components that
# are built 32-bit and 64-bit.  This macro makes it possible to determine
# which components are only built 64-bit and allow other make-rules files
# to adjust accordingly.  Possible values are: '32', '64', '32_and_64',
# '64_and_32', and 'NO_ARCH' (the orderings specify build preference).
BUILD_BITS ?=$(BITS)
ifeq ($(strip $(BUILD_BITS)),64)
BITS ?=            64
else
BITS ?=            32
endif
# Based on BUILD_BITS, determine which binaries are preferred for a build.
# This macro is for the convenience of other make-rules files and should not be
# overridden by developers.
ifeq ($(strip $(BUILD_BITS)),64)
PREFERRED_BITS=64
endif
# Unlike Solaris we still prefer 32bit
ifeq ($(strip $(BUILD_BITS)),64_and_32)
PREFERRED_BITS=32
endif
PREFERRED_BITS ?= 32
# Map target build to macro/variable naming conventions.  This macro is for the
# convenience of other make-rules files and should not be overridden by
# developers.
ifeq ($(BUILD_BITS),64_and_32)
MK_BITS=32_and_64
else
MK_BITS=$(strip $(BUILD_BITS))
endif
PYTHON_VERSION =    2.7
PYTHON_VERSIONS =    2.7
make-rules/waf.mk
@@ -49,12 +49,19 @@
CONFIGURE_PREFIX =    /usr
ifeq ($(strip $(PREFERRED_BITS)),64)
CONFIGURE_BINDIR.32 =    $(CONFIGURE_PREFIX)/bin/$(MACH32)
CONFIGURE_BINDIR.64 =    $(CONFIGURE_PREFIX)/bin
CONFIGURE_SBINDIR.32 =    $(CONFIGURE_PREFIX)/sbin/$(MACH32)
CONFIGURE_SBINDIR.64 =    $(CONFIGURE_PREFIX)/sbin
else
CONFIGURE_BINDIR.32 =    $(CONFIGURE_PREFIX)/bin
CONFIGURE_BINDIR.64 =    $(CONFIGURE_PREFIX)/bin/$(MACH64)
CONFIGURE_LIBDIR.32 =    $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64 =    $(CONFIGURE_PREFIX)/lib/$(MACH64)
CONFIGURE_SBINDIR.32 =    $(CONFIGURE_PREFIX)/sbin
CONFIGURE_SBINDIR.64 =    $(CONFIGURE_PREFIX)/sbin/$(MACH64)
endif
CONFIGURE_LIBDIR.32 =    $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64 =    $(CONFIGURE_PREFIX)/lib/$(MACH64)
CONFIGURE_MANDIR =    $(CONFIGURE_PREFIX)/share/man
CONFIGURE_LOCALEDIR =    $(CONFIGURE_PREFIX)/share/locale