From 6aff5f9ab92ea19539d9cb2e490775b77b3099ce Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Wed, 2 Mar 2016 13:16:22 +0000 Subject: [PATCH] mprove compiler selection and add mechanism for turning on ARC for a build git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@39442 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 14 ++++++++++++-- configure | 2 ++ configure.ac | 2 ++ library-combo.make | 12 +++++++++--- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 98b40fdbc..cb9c0d42c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,19 @@ +2016-03-02 Richard Frith-Macdonald + + * configure.ac: Improve selection of clang when 'ng' runtime library + is selected. + * configure: Regenerate. + * library-combo.make: Add support for ARC with the 'ng' runtime + setting. Enabled by defining GS_WITH_ARC=1 at the start of the + GNUmakefile or in the environment or in the 'make' arguments. + 2016-03-02 Niels Grewe + * Master/documentation.make: - Support skipping the documentation build if skip_documentation=yes + Support skipping the documentation build if documentation=no is supplied * Documentation/gnustep-make.texi: - Document the new skip_documentation feature (and messages=yes, which + Document the new documentation=no feature (and messages=yes, which as also missing). 2015-12-11 23:34-EST Gregory John Casamento diff --git a/configure b/configure index 5030d565e..5f4a7e6f5 100755 --- a/configure +++ b/configure @@ -1588,6 +1588,8 @@ Optional Packages: binaries that support multiple library combos. In that case, this flag will only configure the default one, but you can still use other ones at run-time. + Please use 'ng-gnu-gnu' to build with 'next generation' cutting edge + runtime and compile time featured (requires a recent version of clang). --with-tar diff --git a/configure.ac b/configure.ac index 7486772dd..483051395 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,8 @@ AC_ARG_WITH(library-combo,[ binaries that support multiple library combos. In that case, this flag will only configure the default one, but you can still use other ones at run-time. + Please use 'ng-gnu-gnu' to build with 'next generation' cutting edge + runtime and compile time featured (requires a recent version of clang). ], ac_cv_library_combo=$withval, ac_cv_library_combo=$ac_cv_library_combo diff --git a/library-combo.make b/library-combo.make index 016f16629..ee5776fe7 100644 --- a/library-combo.make +++ b/library-combo.make @@ -110,10 +110,16 @@ ifeq ($(OBJC_RUNTIME_LIB), ng) OBJC_LIBS = $(OBJC_LIB_FLAG) -fobjc-nonfragile-abi RUNTIME_FLAG = -fobjc-runtime=gnustep-1.8 -fblocks -fno-objc-legacy-dispatch RUNTIME_DEFINE = -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 - # By default we enable ARC for ng code, but projects may disable it - # by defining GS_WITH_ARC=0 at the start of their GNUmakefile + # Projects may control the use of ARC by defining GS_WITH_ARC=1 + # or GS_WITH_ARC=0 at the start of their GNUmakefile, or in the environment, + # or as an argument to the 'make' command. + # The default behavior is not to use ARC, unless GNUSTEP_NG_ARC is + # set to 1 (perhaps in the GNUstep config file; GNUstep.conf). + # ifeq ($(GS_WITH_ARC),) - GS_WITH_ARC = 1 + ifeq ($(GNUSTEP_NG_ARC), 1) + GS_WITH_ARC=1 + endif endif ifeq ($(GS_WITH_ARC), 1) RUNTIME_FLAG += -fobjc-arc