Author: rfm
Date: Mon Mar  7 10:49:11 2016
New Revision: 39470

URL: http://svn.gna.org/viewcvs/gnustep?rev=39470&view=rev
Log:
some documentation tweaks

Modified:
    tools/make/trunk/Documentation/gnustep-make.texi
    tools/make/trunk/Documentation/library-combo.7
    tools/make/trunk/Documentation/news.texi
    tools/make/trunk/Documentation/releasenotes.texi

Modified: tools/make/trunk/Documentation/gnustep-make.texi
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Documentation/gnustep-make.texi?rev=39470&r1=39469&r2=39470&view=diff
==============================================================================
--- tools/make/trunk/Documentation/gnustep-make.texi    (original)
+++ tools/make/trunk/Documentation/gnustep-make.texi    Mon Mar  7 10:49:11 2016
@@ -52,6 +52,7 @@
 * GNUmakefile.preamble::        
 * GNUmakefile.postamble::       
 * Common Variables::            
+* Other Variables::            
 @end menu
 
 @node Makefile Introduction, Makefile Structure, Top, Top
@@ -921,6 +922,13 @@
 ADDITIONAL_GUI_LIBS = -lMiscGui
 @end smallexample
 
+@defvar GS_WITH_ARC
+@code{GS_WITH_ARC} may be set to 1 to say that Objective-C source code
+is to be compiled for ARC memory management.  This variable must be set
+before @file{common.make} is included, and only works if the library
+combo includes the 'ng' runtime specification.
+@end defvar
+
 @defvar LIBRARIES_DEPEND_UPON
 @code{LIBRARIES_DEPEND_UPON} is the set of libraries that the shared
 library depends upon, see @ref{library.make} for more information about
@@ -980,7 +988,7 @@
 You can even define additional rules such as ones that a particular to
 your specific package or that are to be used by developers only.
 
-@node Common Variables,  , GNUmakefile.postamble, Top
+@node Common Variables, Other Variables, GNUmakefile.postamble, Top
 @section Common Variables (@file{common.make})
 @menu
 * Directory Paths::             
@@ -1333,9 +1341,12 @@
 @defvar OBJC_RUNTIME_LIB
 @code{OBJC_RUNTIME_LIB} is assigned the code that indicates the
 Objective-C Runtime library which compiled Objective-C programs will
-use; the three possible values are: @samp{gnu} for the GNU Runtime,
-@samp{nx} for the NeXT Runtime, and @samp{sun} for the Sun
-Microsystems Runtime.  The Objective-C Runtime library can be changed
+use; the four possible values are: @samp{ng} for the GNUstep Runtime
+with latest language features turned on at acompile time, @samp{gnu}
+for the GNU Runtime (or the GNUstep runtime with traditional
+language features compiled), @samp{nx} for the NeXT Runtime,
+and @samp{sun} for the Sun Microsystems Runtime.
+The Objective-C Runtime library can be changed
 to use a library other than the default with the @samp{library_combo}
 make parameter, see @ref{Running Make} for more details.  Read
 @ref{Library Combination} for more information on how the Makefile
@@ -1351,7 +1362,8 @@
 use.  This macro is useful if the compiled program must execute
 different code based upon the Objective-C Runtime being used.  See
 @ref{GNUmakefile.preamble} for an example on how to pass this
-preprocessor flag when compiling.  The three possible values are:
+preprocessor flag when compiling.  The four possible values are:
+@samp{-DGNUSTEP_RUNTIME=1} for the GNUstep ObjectiveC-2 Runtime,
 @samp{-DGNU_RUNTIME=1} for the GNU Runtime, @samp{-DNeXT_RUNTIME=1}
 for the NeXT Runtime, and @samp{-DSun_RUNTIME=1} for the Sun
 Microsystems Runtime.
@@ -1536,4 +1548,44 @@
 make documentation=no
 @end smallexample
 
+@node Other Variables,  , Common Variables, Top
+@section Other Variables
+
+@defvar GS_WITH_ARC
+@code{GS_WITH_ARC = 1} turns on ARC for the current build if using the
+Next Generation runtime setting.
+This variable may be defined as an environment variable, or on the make
+command line, or (usually) at the start of GNUmakefile.
+@end defvar
+The variable needs to be defined before common.make is included, and the 
library-combo
+needs to be ng-gnu-gnu for it to take effect (in which case it causes the
+-fobjc-arc flag to be used when compiling any Objective-C source files).
+
+@defvar xxx_FILE_FILTER_OUT_FLAGS
+@code{xxx_FILE_FILTER_OUT_FLAGS} (where xxx is the file name, such as mframe.m)
+is a filter-out make pattern of flags to be filtered out 
+from the compilation flags when compiling xxx.
+In exceptional conditions, you might need to want to use different compiler
+flags for a file (for example, if a file doesn't compile with optimization
+turned on, you might want to compile that single file with optimizations
+turned off).
+@end defvar
+@smallexample
+file.m_FILE_FILTER_OUT_FLAGS = -O% -fomit-frame-pointer
+@end smallexample
+This says that when compiling file.m we should disable optimization flags,
+and also remove frame pointer information.
+
+@defvar xxx_FILE_FLAGS
+@code{xxx_FILE_FLAGS} (where xxx is the file name, such as main.m) 
+add special compilation flags to be used when compiling xxx.
+In exceptional conditions, you might need to want to use different compiler
+flags for a file (for example, if ou want to turn on automated reference
+counting for that file)
+@end defvar
+@smallexample
+file.m_FILE_FLAGS = -fobjc-arc
+@end smallexample
+This says that when compiling file.m we should turn on ARC.
+
 @bye

Modified: tools/make/trunk/Documentation/library-combo.7
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Documentation/library-combo.7?rev=39470&r1=39469&r2=39470&view=diff
==============================================================================
--- tools/make/trunk/Documentation/library-combo.7      (original)
+++ tools/make/trunk/Documentation/library-combo.7      Mon Mar  7 10:49:11 2016
@@ -41,7 +41,7 @@
 .B Objective-C runtimes
 In the Objective-C world there are three major runtimes: the GNUstep runtime, 
the Apple runtime and the
 .SM GNU
-runtime (both with and without garbage collection enabled). They are different 
in several respects and a program or library that works at the runtime level 
should be aware of them. 
+runtime. They are different in several respects and a program or library that 
works at the runtime level should be aware of them. 
 .TP
 .B Foundation libraries
 There are different Foundation libraries an application or tool can be written 
on top of: gnustep-base, libFoundation and Apple Cocoa system.
@@ -54,9 +54,7 @@
 .B Objective-C runtime
 ng (for GNUstep Next Generation), gnu (for
 .SM GNU
-without garbage collection, or for GNUstep without latest language features), 
gnugc (for
-.SM GNU
-with garbage collection), apple (for Apple), nx (for NeXT)
+, or for GNUstep without latest language features), apple (for Apple), nx (for 
NeXT)
 .TP
 .B Foundation library
 gnu (for gnustep-base), fd (for libFoundation), apple (for Apple Cocoa), nx 
(for NeXT Foundation)

Modified: tools/make/trunk/Documentation/news.texi
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Documentation/news.texi?rev=39470&r1=39469&r2=39470&view=diff
==============================================================================
--- tools/make/trunk/Documentation/news.texi    (original)
+++ tools/make/trunk/Documentation/news.texi    Mon Mar  7 10:49:11 2016
@@ -12,6 +12,8 @@
 @section Changes in version @samp{2.6.8}
 
 Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next 
Generation' setup of the latest ObjectiveC-2 runtime and compiler features 
rather than traditional runtime.  Requires the new runtime and a recent clang 
compiler.
+
+With the 'ng' runtime in use, you can define GS_WITH_ARC=1 at the start of a 
makefile, or in your environment, or in the command line arguments to have objC 
code built using ARC.
 
 Command line option 'documentation=no' to suppress builds of documentation.
 

Modified: tools/make/trunk/Documentation/releasenotes.texi
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Documentation/releasenotes.texi?rev=39470&r1=39469&r2=39470&view=diff
==============================================================================
--- tools/make/trunk/Documentation/releasenotes.texi    (original)
+++ tools/make/trunk/Documentation/releasenotes.texi    Mon Mar  7 10:49:11 2016
@@ -7,6 +7,8 @@
 @section Version 2.6.8
 
 Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next 
Generation' setup of the latest ObjectiveC-2 runtime and compiler features 
rather than traditional runtime.  Requires the new runtime and a recent clang 
compiler.
+
+With the 'ng' runtime in use, you can define GS_WITH_ARC=1 at the start of a 
makefile, or in your environment, or in the command line arguments to have objC 
code built using ARC.
 
 Command line option 'documentation=no' to suppress builds of documentation.
 


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to