mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Simplify use of user-defined flags.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@17744 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a99fa01a53
commit
e9d21d10f0
7 changed files with 193 additions and 128 deletions
14
ChangeLog
14
ChangeLog
|
@ -1,8 +1,22 @@
|
|||
2003-09-29 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Simplify use of user-defined flags.
|
||||
* configure.ac: USE LDFLAGS not LIBS. Leave CPPFLAGS alone
|
||||
* common.make (INTERNAL_LDFLAGS): Don't add LDFLAGS
|
||||
* library-combo.make (SYSTEM_LDFLAGS): Add LDFLAGS.
|
||||
* config.make.in (CONFIG_SYSTEM_DEFS): Remove.
|
||||
|
||||
* Documentation/faq.texi: Update answers.
|
||||
|
||||
2003-09-27 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* target.make (darwin/BUNDLE_LDFLAGS): Supress warnings
|
||||
* Documentation/machines.texi: Update darwin.
|
||||
|
||||
2003-09-26 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Version 1.8.0 released on branch.
|
||||
|
||||
2003-09-25 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* target.make (darwin): Fix up bundle flags for GNU compiler.
|
||||
|
|
|
@ -25,6 +25,7 @@ at the user FAQ for more user oriented questions.
|
|||
@menu
|
||||
* Is it easy to port OPENSTEP programs to GNUstep?::
|
||||
* How about porting between Cocoa and GNUstep?::
|
||||
* Tools for porting::
|
||||
* Can I transfer archived data from GNUstep to Cocoa?::
|
||||
* Does distributed objects work between GNUstep and Cocoa?::
|
||||
* Is there an Interface Builder for GNUstep?::
|
||||
|
@ -45,7 +46,7 @@ the Makefiles yourself. You will also have to translate the NIB files
|
|||
(if there are any) to GNUstep model files using the nib2gmodel program
|
||||
(from @url{ftp://ftp.gnustep.org/pub/gnustep/dev-apps}).
|
||||
|
||||
@node How about porting between Cocoa and GNUstep?, Can I transfer archived data from GNUstep to Cocoa?, Is it easy to port OPENSTEP programs to GNUstep?, Compatibility
|
||||
@node How about porting between Cocoa and GNUstep?, Tools for porting, Is it easy to port OPENSTEP programs to GNUstep?, Compatibility
|
||||
@subsection How about porting between Cocoa and GNUstep?
|
||||
|
||||
It's easier from GNUstep to Cocoa than Cocoa to GNUstep. Cocoa is
|
||||
|
@ -55,17 +56,50 @@ GNUstep yet. Plus there are some other issues. If you start with
|
|||
Cocoa:
|
||||
|
||||
@itemize @bullet
|
||||
@item Be careful with Cocoa.h includes
|
||||
@item Be careful with Cocoa.h includes (Use #ifndef GNUSTEP, for instance)
|
||||
@item Do not use CoreFoundation
|
||||
@item Do not use C++
|
||||
@item Do not use Quicktime or other propriatory extention
|
||||
@item You need to convert .nib (IB if you use it) to .gmodel or .gorm
|
||||
and Gorm is good enough for most of the work
|
||||
@item Do not use NSToolBar (not finished in GNUstep)
|
||||
@item Do not use Drawer (not implmented in GNUstep)
|
||||
@item Do not use Objective-C++
|
||||
@item Do not use Quicktime or other proprietary extension
|
||||
@item You need to convert .nib files (see next question @pxref(Tools for porting))
|
||||
@item Some unfinished classes include NSToolBar and Drawers.
|
||||
@end itemize
|
||||
|
||||
@node Can I transfer archived data from GNUstep to Cocoa?, Does distributed objects work between GNUstep and Cocoa?, How about porting between Cocoa and GNUstep?, Compatibility
|
||||
@node Tools for porting, Can I transfer archived data from GNUstep to Cocoa?, How about porting between Cocoa and GNUstep?, Compatibility
|
||||
@subsection Tools for porting
|
||||
|
||||
While the programming interface should be almost transparent between
|
||||
systems (expect for the unimplemented parts, of course), there are a
|
||||
variety of other files and tools that are necessary for porting
|
||||
programs.
|
||||
|
||||
@table @samp
|
||||
@item ni2gmodel
|
||||
This program coverts nib files from any system, such as Cocoa or OPENSTEP to
|
||||
a gmodel format file. Gmodel can be read directly by GNUstep or you can
|
||||
convert this to a more GNUstep-native gorm format (using the Gorm interface
|
||||
modeller).
|
||||
|
||||
@item Renaissance
|
||||
GNUstep Renaissance allows you to describe your user
|
||||
interfaces (that is, the windows in your application, and the buttons,
|
||||
boxes, textfields, etc in the windows) in simple and intuitive XML
|
||||
files, using an open, standard format describing the logic of the
|
||||
interface. It has a number of advantages over the proprietary nib format:
|
||||
portability, open standard, easy localization, themeability, and
|
||||
intelligent autolayout.
|
||||
|
||||
@item OpenStep2GNUConverter and nfmake
|
||||
Two programs that allow you to convert PB files to GNUstep makefiles or
|
||||
compile a program on GNUstep directly from PB files. They probably work
|
||||
only for OPENSTEP systems and are a little out-of-date.
|
||||
|
||||
@item StepTalk
|
||||
A portable scripting environment that lets your do scripting in almost
|
||||
any language you like.
|
||||
|
||||
@end table
|
||||
|
||||
@node Can I transfer archived data from GNUstep to Cocoa?, Does distributed objects work between GNUstep and Cocoa?, Tools for porting, Compatibility
|
||||
@subsection Can I transfer archived data from GNUstep to Cocoa?
|
||||
|
||||
Apple's archiving format is proprietary and not documented, so this
|
||||
|
@ -79,7 +113,7 @@ different machines because of endiness issues, although GNUstep doesn't
|
|||
have this problem.
|
||||
|
||||
Your best bet is to implement your own archiving format that would work
|
||||
both with GNUstep and Cocoa. Fortuneatly, you don't have to start from
|
||||
both with GNUstep and Cocoa. Fortunately, you don't have to start from
|
||||
scratch, since this has been essentially done for you in the nib2gmodel
|
||||
tool, which has an archiver that works both on GNUstep and Cocoa. It
|
||||
might be nice to split this off into a separate project to make it
|
||||
|
@ -107,16 +141,14 @@ both the 'gmodel' format (which stores information as text
|
|||
(property-lists) and can therefore be edited 'by hand') and binary
|
||||
archive format (which can be edited by Gorm). There IS a conversion
|
||||
tool called nib2gmodel that can be compiled under OPENSTEP to convert
|
||||
OPENSTEP nib files to GNUstep gmodel files.
|
||||
nib files to GNUstep gmodel files.
|
||||
|
||||
@node Can one use the hybrid "Objective-C++", Is there a plan to support Java/YellowBox Bindings?, Can I use my original NIB files?, Compatibility
|
||||
@subsection Can one use the hybrid "Objective-C++"
|
||||
|
||||
No. at present the GNU compiler (gcc) does not support
|
||||
"Objective-C++". Apple has submitted patches for this, but it is up to
|
||||
the GCC steering commitee to decide if they want to add them. If you
|
||||
would like to see this, please politely and respectfully lobby them at
|
||||
@email{gcc@@gnu.org}.
|
||||
"Objective-C++". Apple is interested in adding back their implementation
|
||||
to gcc and is slowly adding parts of it to the mainline gcc implementation.
|
||||
|
||||
@node Is there a plan to support Java/YellowBox Bindings?, What if I compile GNUstep under OPENSTEP/MacOS X?, Can one use the hybrid "Objective-C++", Compatibility
|
||||
@subsection Is there a plan to support the Java/YellowBox Bindings?
|
||||
|
@ -140,7 +172,8 @@ OPENSTEP/MacOS-X windows server. While someone could write a
|
|||
backend library to provide the interface, nobody has bothered to
|
||||
date.
|
||||
|
||||
Also, the GNUstep base library is still being ported to Darwin.
|
||||
You should, however, be able to use a GNUstep program with an X11 server
|
||||
running on MacOSX.
|
||||
|
||||
@node Is the Objective C API for GTK related?, How about implementing parts of the Application Kit with GTK?, What if I compile GNUstep under OPENSTEP/MacOS X?, Compatibility
|
||||
@subsection Is the Objective C API for GTK related?
|
||||
|
@ -169,7 +202,7 @@ of the work involved in implementing the OpenStep API, the backend
|
|||
is a relatively thin layer and the advantages of GTK over direct
|
||||
xlib or win32 calls is likely to be minimal. If/when GTK is ported
|
||||
to more systems, a backend written using it could be a valuable
|
||||
asset - volunteers are, as always, wecome.
|
||||
asset - volunteers are, as always, welcome.
|
||||
|
||||
|
||||
@c ****************************************************************
|
||||
|
@ -194,7 +227,7 @@ asset - volunteers are, as always, wecome.
|
|||
|
||||
Good question. Read the tutorials at the GNUstep web site. Also look at
|
||||
Apple's documentation (pointers in the Resources section on the GNUstep web
|
||||
site.
|
||||
site.)
|
||||
|
||||
@node How can I help with GNUstep?, Helping develop GNUstep, How can I get started programming?, Compiling and Developing
|
||||
@subsection How can I help with GNUstep?
|
||||
|
@ -216,7 +249,7 @@ Free Software Foundation before they can be incorporated into the
|
|||
project. Get in touch with the maintainer of the library you are
|
||||
working on about this.
|
||||
|
||||
Don't start with large-scale reorganisation of anything - instead,
|
||||
Don't start with large-scale reorganization of anything - instead,
|
||||
get a general idea in mind of what you want to do, and proceed as
|
||||
much as possible with incremental changes that don't break anything
|
||||
- that way you can make those incremental changes available to the
|
||||
|
@ -328,7 +361,7 @@ volunteer to help, or you can start your own project.
|
|||
@node How can I help with the GNUstep website?, Why doesn't GDB support Objective-C?, How do I start writing applications?, Compiling and Developing
|
||||
@subsection How can I help with the GNUstep website?
|
||||
|
||||
Talk to Adam Fedor @email{fedor@@gnu.org}, the maintainer.
|
||||
Talk to Adam Fedor @email{fedor@@gnu.org}, the maintainer.
|
||||
|
||||
The GNUstep website is kept as a CVS module, but the largest portions
|
||||
of it (the FAQ and the Documentation) are actually
|
||||
|
@ -350,14 +383,11 @@ out-of-date (or wrong) and update/mark-as-outdated as required.
|
|||
@node Why doesn't GDB support Objective-C?, , How can I help with the GNUstep website?, Compiling and Developing
|
||||
@subsection Why doesn't GDB support Objective-C?
|
||||
|
||||
Apple has submitted their patches to make GDB work with Objective-C
|
||||
programs, and the GDB maintainer has said that he is interested in
|
||||
integrating them. Now it appears that that there is just a lack of
|
||||
time and priority to get this done. You can ask about or lobby for this -
|
||||
see @url{http://sources.redhat.com/gdb/}.
|
||||
Update: GDB 6.0, which should come out sometime in September 2003
|
||||
supports debugging of Objective-C code.
|
||||
|
||||
There are patches available on the gnustep web site if you want
|
||||
to compile your own gdb (see @url{ftp://ftp.gnustep.org/pub/gnustep/patches}).
|
||||
There are patches available on the gnustep web site for earlier versions
|
||||
of gdb (see @url{ftp://ftp.gnustep.org/pub/gnustep/patches}).
|
||||
|
||||
|
||||
@c -------------------------------------------------------------------
|
||||
|
@ -382,36 +412,22 @@ does, including Categories, Protocols, @samp{+poseAs:}, thread-safety,
|
|||
class initialization on demand, delayed loading of classes, and
|
||||
initialization of static instances (such as @@""-style string objects).
|
||||
|
||||
It also has several improvements over NeXT's implementation:
|
||||
It also has several differences over NeXT's implementation:
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item NeXT's runtime requires an extra function call (objc_msgSend) for
|
||||
each message that is sent; (the function looks up the receiving
|
||||
instance's implementation of the method). GNU's implementation is
|
||||
faster because it does not use an extra function call. Instead, it
|
||||
inlines a short piece of code that makes two pointer hops into a method
|
||||
dispatch table; because the code is inlined, it does not incur the
|
||||
overhead of a function call.
|
||||
|
||||
@item When running in thread-safe mode, NeXT's runtime must aquire a
|
||||
global mutual exclusion lock every time a message is sent; this is
|
||||
extremely slow. GNU's runtime, amazingly, sends messages just as fast
|
||||
in thread-safe mode as it does in single-thread mode---the code path
|
||||
does not contain even a single extra instruction! The GNU runtime only
|
||||
needs locks when certainly structures are written, not read; the
|
||||
structures are written relatively infrequently: only at class
|
||||
initialization and when @samp{+poseAs:} is called.
|
||||
|
||||
@item GNU's runtime provides ``selector-types'' along with each
|
||||
selector; NeXT's does not. A selector-type is a string that describes
|
||||
the C variable types for the method's return and argument values. Among
|
||||
other uses, selector-types is extrememly helpful for fast distributed
|
||||
other uses, selector-types is extremely helpful for fast distributed
|
||||
objects implementations, (see GNUstep Base Library Section, below).
|
||||
|
||||
@item Many of the GNU functions have different names than their
|
||||
corresponding NeXT functions; the GNU names conform to the GNU coding
|
||||
standards.
|
||||
standards. The GNUstep base library contains a compatibility header that
|
||||
works with both runtimes. You should use functions there or use OpenStep
|
||||
Foundation methods/functions instead of the basic
|
||||
runtime functions so that you code can run with either system.
|
||||
|
||||
@end itemize
|
||||
|
||||
|
@ -454,12 +470,11 @@ portion of the OpenStep standard (the Foundation library).
|
|||
@node What is base's current state of development?, What are the features of GNU Distributed Objects?, What is the GNUstep Base Library?, GNUstep Base Library
|
||||
@subsection What is its current state of development?
|
||||
|
||||
GNUstep base is currently stable and implements probably 99% of the
|
||||
functionality of the OpenStep classes and most all of the new Cocoa
|
||||
classes.
|
||||
Normal work can already be done using the library since the
|
||||
missing 1 percent are the least-often-used features or are simply not
|
||||
up to date with the latest Carbon spec.
|
||||
GNUstep base is currently stable and, to the best of our knowledge,
|
||||
implements all of the OpenStep functionality (except for a few classes
|
||||
that we feel are not useful). It also implements most all of the new
|
||||
Cocoa classes. However we do some things, like scripting, differently,
|
||||
so we don't implement all the Cocoa classes.
|
||||
|
||||
@node What are the features of GNU Distributed Objects?, , What is base's current state of development?, GNUstep Base Library
|
||||
@subsection What are the features of GNU Distributed Objects?
|
||||
|
@ -471,7 +486,7 @@ are not available.
|
|||
|
||||
[NOTE: The GNU distributed object facilities have the same ease-of-use
|
||||
as NeXT's; be warned, however, that they are not compatible with each
|
||||
other. They have different class heirarchies, different instance
|
||||
other. They have different class hierarchies, different instance
|
||||
variables, different method names, different implementation strategies
|
||||
and different network message formats. You cannot communicate with a
|
||||
NeXT NSConnection using a GNU NSConnection.
|
||||
|
@ -497,7 +512,7 @@ you like. ].
|
|||
* What is the GUI Library?::
|
||||
* Explain the organization of the front- and back-ends::
|
||||
* What is the current state of development of the front-end?::
|
||||
* What is the current state of development of the X/DPS back-end?::
|
||||
* What is the current state of development of the back-ends?::
|
||||
@end menu
|
||||
|
||||
@node What is the GUI Library?, Explain the organization of the front- and back-ends, GNUstep GUI Library, GNUstep GUI Library
|
||||
|
@ -531,17 +546,30 @@ graphics/event platforms. Much work will be saved by this clean
|
|||
separation between front- and back-end, because it allows different
|
||||
platforms to share the large amount of front-end code.
|
||||
|
||||
@node What is the current state of development of the front-end?, What is the current state of development of the X/DPS back-end?, Explain the organization of the front- and back-ends, GNUstep GUI Library
|
||||
@node What is the current state of development of the front-end?, What is the current state of development of the back-ends?, Explain the organization of the front- and back-ends, GNUstep GUI Library
|
||||
@subsection What is the current state of development of the front-end?
|
||||
|
||||
Many of the classes are well implemented, if not thouroughly tested.
|
||||
Many of the classes are well implemented, if not thoroughly tested.
|
||||
See the GNUstep web sites and read status information contained in the
|
||||
distribution for the most up-to-date information.
|
||||
|
||||
@node What is the current state of development of the X/DPS back-end?, , What is the current state of development of the front-end?, GNUstep GUI Library
|
||||
@subsection What is the current state of development of the X/DPS back-end?
|
||||
@node What is the current state of development of the back-ends?, , What is the current state of development of the front-end?, GNUstep GUI Library
|
||||
@subsection What is the current state of development of the back-ends?
|
||||
|
||||
It works, but is slow and buggy. A lot of work could be done.
|
||||
There are several backends currently available:
|
||||
|
||||
@table @samp
|
||||
@item xlib
|
||||
This is the standard backend that runs on X11 and uses standard xlib
|
||||
calls for implementing drawing. It works well, but is limited in many
|
||||
areas due to the limitations of xlib drawing.
|
||||
@item art
|
||||
This is a very good backend that draws using the libart package and
|
||||
freetype with near PostScript quality and functionality. At some point
|
||||
it will become the standard.
|
||||
@item w32
|
||||
This backend works on Windows and is currently very alpha quality.
|
||||
@end table
|
||||
|
||||
@c ------------------------- GNUstep GUI Library -----------------------
|
||||
|
||||
|
@ -560,6 +588,10 @@ It works, but is slow and buggy. A lot of work could be done.
|
|||
It is a free implementation of a Display PostScript server based on the
|
||||
GNU Ghostscript program developed by Aladdin Enterprises and now owned by artofcode LLC.
|
||||
|
||||
At one point, GNUstep was using this for display purposes. However the
|
||||
development of DGS has stopped as it is too difficult to maintain and
|
||||
no one wanted to work on it. Now we are using other means of drawing.
|
||||
|
||||
@node What is DGSs current state of development?, What is the relationship between the Display Ghostscript Server and X Windows?, What is the Display Ghostscript Server?, GNUstep DisplayGhostScript Server
|
||||
@subsection What is its current state of development?
|
||||
|
||||
|
|
|
@ -396,7 +396,7 @@ endif
|
|||
ifeq ($(profile), yes)
|
||||
ADDITIONAL_FLAGS += -pg
|
||||
ifeq ($(LD), $(CC))
|
||||
LDFLAGS += -pg
|
||||
INTERNAL_LDFLAGS += -pg
|
||||
endif
|
||||
OBJ_DIR_PREFIX += profile_
|
||||
LIBRARY_NAME_SUFFIX := p$(LIBRARY_NAME_SUFFIX)
|
||||
|
@ -437,7 +437,6 @@ AUXILIARY_CPPFLAGS += $(GNUSTEP_DEFINE) \
|
|||
INTERNAL_OBJCFLAGS += $(ADDITIONAL_FLAGS) $(OPTFLAG) $(OBJCFLAGS) \
|
||||
$(RUNTIME_FLAG)
|
||||
INTERNAL_CFLAGS += $(ADDITIONAL_FLAGS) $(CFLAGS) $(OPTFLAG)
|
||||
INTERNAL_LDFLAGS += $(LDFLAGS)
|
||||
|
||||
# trick needed to replace a space with nothing
|
||||
empty:=
|
||||
|
|
|
@ -105,10 +105,9 @@ ifndef objc_threaded
|
|||
objc_threaded:=@objc_threaded@
|
||||
endif
|
||||
|
||||
# Any user specified libs, like thread libraries
|
||||
CONFIG_SYSTEM_INCL = @INCLUDE_FLAGS@
|
||||
# Any user specified libs
|
||||
CONFIG_SYSTEM_INCL=@INCLUDES@
|
||||
CONFIG_SYSTEM_LIBS = @LIBS@
|
||||
CONFIG_SYSTEM_DEFS =
|
||||
|
||||
#
|
||||
# Whether the C/ObjC/C++ compiler supports auto-dependencies
|
||||
|
|
90
configure
vendored
90
configure
vendored
|
@ -317,7 +317,7 @@ ac_includes_default="\
|
|||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os ac_cv_library_combo CYGWIN RANLIB AR DLLTOOL ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TAR CHOWN GNUSTEP_ROOT root_prefix MAKEFILES_SUFFIX HOST_INSTALL GNUSTEP_LOCAL_ROOT GNUSTEP_NETWORK_ROOT GNUSTEP_FLATTENED GNUSTEP_MULTI_PLATFORM BACKEND_BUNDLE EGREP objc_threaded ac_cv_objc_threaded AUTO_DEPENDENCIES OBJC_NO_IMPORT_FLAGS INCLUDE_FLAGS GNUSTEP_MOVE_OBSOLETE GNUSTEP_MAKE_VERSION GNUSTEP_MAKE_MAJOR_VERSION GNUSTEP_MAKE_MINOR_VERSION GNUSTEP_MAKE_SUBMINOR_VERSION clean_target_os clean_target_cpu clean_target_vendor LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os ac_cv_library_combo CYGWIN RANLIB AR DLLTOOL ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TAR CHOWN GNUSTEP_ROOT root_prefix MAKEFILES_SUFFIX HOST_INSTALL GNUSTEP_LOCAL_ROOT GNUSTEP_NETWORK_ROOT GNUSTEP_FLATTENED GNUSTEP_MULTI_PLATFORM BACKEND_BUNDLE EGREP objc_threaded ac_cv_objc_threaded AUTO_DEPENDENCIES INCLUDES OBJC_NO_IMPORT_FLAGS GNUSTEP_MOVE_OBSOLETE GNUSTEP_MAKE_VERSION GNUSTEP_MAKE_MAJOR_VERSION GNUSTEP_MAKE_MINOR_VERSION GNUSTEP_MAKE_SUBMINOR_VERSION clean_target_os clean_target_cpu clean_target_vendor LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
|
@ -2529,6 +2529,7 @@ if test "$ac_cv_library_combo" = ""; then
|
|||
case "$host_os" in
|
||||
darwin*) ac_cv_library_combo=apple-apple-apple ;;
|
||||
nextstep4) ac_cv_library_combo=nx-nx-nx ;;
|
||||
openstep4) ac_cv_library_combo=nx-nx-nx ;;
|
||||
*) ac_cv_library_combo=gnu-gnu-gnu ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -2548,19 +2549,14 @@ OBJC_RUNTIME_LIB=`echo $ac_cv_library_combo | awk -F- '{print $1}'`
|
|||
#--------------------------------------------------------------------
|
||||
# specific target_os options
|
||||
#--------------------------------------------------------------------
|
||||
INCLUDE_FLAGS=
|
||||
INCLUDES=
|
||||
case "$target_os" in
|
||||
freebsd* | openbsd* )
|
||||
INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/local/include"
|
||||
LIBS="$LIBS -L/usr/local/lib";;
|
||||
netbsd*) INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/pkg/include"
|
||||
LIBS="$LIBS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib";;
|
||||
INCLUDES="-I/usr/local/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib";;
|
||||
netbsd*) INCLUDES="-I/usr/pkg/include"
|
||||
LDFLAGS="$LDFLAGS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib";;
|
||||
esac
|
||||
# Save the user supplied CPPFLAGS so we can restore them later.
|
||||
user_CPPFLAGS="$CPPFLAGS"
|
||||
# This is just for configuring. Later, in config.make, INCLUDE_FLAGS
|
||||
# goes in CONFIG_SYSTEM_INCL and the original CPPFLAGS goes in unaltered
|
||||
CPPFLAGS="$CPPFLAGS $INCLUDE_FLAGS"
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Determine the host, build, and target systems
|
||||
|
@ -3305,9 +3301,9 @@ echo "${ECHO_T}$gs_cv_objc_libdir" >&6
|
|||
# The following are needed to compile the test programs
|
||||
if test "$gs_cv_objc_libdir" = "$GNUSTEP_LDIR"; then
|
||||
if test "$GNUSTEP_FLATTENED" = yes; then
|
||||
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers"
|
||||
OBJC_CPPFLAGS="$CPPFLAGS $INCLUDES -I$prefix/Library/Headers"
|
||||
else
|
||||
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers/${ac_cv_library_combo}"
|
||||
OBJC_CPPFLAGS="$CPPFLAGS $INCLUDES -I$prefix/Library/Headers/${ac_cv_library_combo}"
|
||||
fi
|
||||
OBJC_LDFLAGS="$LDFLAGS -L$gs_cv_objc_libdir"
|
||||
fi
|
||||
|
@ -4099,12 +4095,6 @@ fi;
|
|||
|
||||
echo "$as_me:$LINENO: checking whether objc has thread support" >&5
|
||||
echo $ECHO_N "checking whether objc has thread support... $ECHO_C" >&6
|
||||
extra_LIBS=""
|
||||
case "${target_os}" in
|
||||
solaris*)
|
||||
extra_LIBS="-lposix4"
|
||||
;;
|
||||
esac
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
saved_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS"
|
||||
|
@ -4118,7 +4108,7 @@ if test "$OBJC_RUNTIME_LIB" = "apple"; then
|
|||
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
|
||||
fi
|
||||
if test "$OBJC_THREAD" != ""; then
|
||||
LIBS="-lobjc $LIBS $OBJC_THREAD $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS $OBJC_THREAD"
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded=""
|
||||
else
|
||||
|
@ -4142,7 +4132,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
|||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
objc_threaded="$OBJC_THREAD $extra_LIBS"
|
||||
objc_threaded="$OBJC_THREAD"
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
|
@ -4301,7 +4291,7 @@ fi
|
|||
fi
|
||||
elif test "$MINGW32" = yes; then
|
||||
# Mingw doesn't need anything extra for threads
|
||||
LIBS="-lobjc $LIBS $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS"
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded="works"
|
||||
else
|
||||
|
@ -4337,7 +4327,7 @@ fi
|
|||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
else
|
||||
LIBS="-lobjc $LIBS $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS"
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded=""
|
||||
else
|
||||
|
@ -4373,7 +4363,7 @@ fi
|
|||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lpthread $extra_LIBS"
|
||||
LIBS="-lobjc $saved_LIBS -lpthread "
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded=""
|
||||
else
|
||||
|
@ -4397,7 +4387,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
|||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
objc_threaded="-lpthread $extra_LIBS"
|
||||
objc_threaded="-lpthread"
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
|
@ -4410,7 +4400,8 @@ rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext
|
|||
fi
|
||||
fi
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lthread $extra_LIBS"
|
||||
# Solaris, OpenBSD/sparc
|
||||
LIBS="-lobjc $saved_LIBS -lpthread -lposix4"
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded=""
|
||||
else
|
||||
|
@ -4434,7 +4425,44 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
|||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
objc_threaded="-lthread $extra_LIBS"
|
||||
objc_threaded="-lpthread -lposix4"
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
objc_threaded=""
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lthread "
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded=""
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include "config_thread.m"
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
objc_threaded="-lthread"
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
|
@ -4454,7 +4482,7 @@ if test x"$objc_threaded" = x""; then
|
|||
echo "${ECHO_T}no" >&6
|
||||
else
|
||||
if test x"$objc_threaded" = x"works"; then
|
||||
objc_threaded="$extra_LIBS"
|
||||
objc_threaded=""
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: yes: $objc_threaded" >&5
|
||||
echo "${ECHO_T}yes: $objc_threaded" >&6
|
||||
|
@ -4501,6 +4529,7 @@ fi
|
|||
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Enable/disable warnings for deprecated #import directive as required
|
||||
#---------------------------------------------------------------------
|
||||
|
@ -4527,9 +4556,6 @@ if test "$ac_cv_import" = "yes"; then
|
|||
fi
|
||||
|
||||
|
||||
CPPFLAGS="$user_CPPFLAGS"
|
||||
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Disable updating the obsolete directory structure
|
||||
#--------------------------------------------------------------------
|
||||
|
@ -5267,8 +5293,8 @@ s,@EGREP@,$EGREP,;t t
|
|||
s,@objc_threaded@,$objc_threaded,;t t
|
||||
s,@ac_cv_objc_threaded@,$ac_cv_objc_threaded,;t t
|
||||
s,@AUTO_DEPENDENCIES@,$AUTO_DEPENDENCIES,;t t
|
||||
s,@INCLUDES@,$INCLUDES,;t t
|
||||
s,@OBJC_NO_IMPORT_FLAGS@,$OBJC_NO_IMPORT_FLAGS,;t t
|
||||
s,@INCLUDE_FLAGS@,$INCLUDE_FLAGS,;t t
|
||||
s,@GNUSTEP_MOVE_OBSOLETE@,$GNUSTEP_MOVE_OBSOLETE,;t t
|
||||
s,@GNUSTEP_MAKE_VERSION@,$GNUSTEP_MAKE_VERSION,;t t
|
||||
s,@GNUSTEP_MAKE_MAJOR_VERSION@,$GNUSTEP_MAKE_MAJOR_VERSION,;t t
|
||||
|
|
55
configure.ac
55
configure.ac
|
@ -42,6 +42,7 @@ if test "$ac_cv_library_combo" = ""; then
|
|||
case "$host_os" in
|
||||
darwin*) ac_cv_library_combo=apple-apple-apple ;;
|
||||
nextstep4) ac_cv_library_combo=nx-nx-nx ;;
|
||||
openstep4) ac_cv_library_combo=nx-nx-nx ;;
|
||||
*) ac_cv_library_combo=gnu-gnu-gnu ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -60,19 +61,14 @@ OBJC_RUNTIME_LIB=`echo $ac_cv_library_combo | awk -F- '{print $1}'`
|
|||
#--------------------------------------------------------------------
|
||||
# specific target_os options
|
||||
#--------------------------------------------------------------------
|
||||
INCLUDE_FLAGS=
|
||||
INCLUDES=
|
||||
case "$target_os" in
|
||||
freebsd* | openbsd* )
|
||||
INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/local/include"
|
||||
LIBS="$LIBS -L/usr/local/lib";;
|
||||
netbsd*) INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/pkg/include"
|
||||
LIBS="$LIBS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib";;
|
||||
INCLUDES="-I/usr/local/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib";;
|
||||
netbsd*) INCLUDES="-I/usr/pkg/include"
|
||||
LDFLAGS="$LDFLAGS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib";;
|
||||
esac
|
||||
# Save the user supplied CPPFLAGS so we can restore them later.
|
||||
user_CPPFLAGS="$CPPFLAGS"
|
||||
# This is just for configuring. Later, in config.make, INCLUDE_FLAGS
|
||||
# goes in CONFIG_SYSTEM_INCL and the original CPPFLAGS goes in unaltered
|
||||
CPPFLAGS="$CPPFLAGS $INCLUDE_FLAGS"
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Determine the host, build, and target systems
|
||||
|
@ -349,9 +345,9 @@ AC_MSG_RESULT($gs_cv_objc_libdir)
|
|||
# The following are needed to compile the test programs
|
||||
if test "$gs_cv_objc_libdir" = "$GNUSTEP_LDIR"; then
|
||||
if test "$GNUSTEP_FLATTENED" = yes; then
|
||||
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers"
|
||||
OBJC_CPPFLAGS="$CPPFLAGS $INCLUDES -I$prefix/Library/Headers"
|
||||
else
|
||||
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers/${ac_cv_library_combo}"
|
||||
OBJC_CPPFLAGS="$CPPFLAGS $INCLUDES -I$prefix/Library/Headers/${ac_cv_library_combo}"
|
||||
fi
|
||||
OBJC_LDFLAGS="$LDFLAGS -L$gs_cv_objc_libdir"
|
||||
fi
|
||||
|
@ -380,12 +376,6 @@ OBJC_THREAD=
|
|||
|
||||
|
||||
AC_MSG_CHECKING(whether objc has thread support)
|
||||
extra_LIBS=""
|
||||
case "${target_os}" in
|
||||
solaris*)
|
||||
extra_LIBS="-lposix4"
|
||||
;;
|
||||
esac
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
saved_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS"
|
||||
|
@ -399,9 +389,9 @@ if test "$OBJC_RUNTIME_LIB" = "apple"; then
|
|||
CFLAGS="$CFLAGS -DNeXT_RUNTIME"
|
||||
fi
|
||||
if test "$OBJC_THREAD" != ""; then
|
||||
LIBS="-lobjc $LIBS $OBJC_THREAD $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS $OBJC_THREAD"
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="$OBJC_THREAD $extra_LIBS",
|
||||
objc_threaded="$OBJC_THREAD",
|
||||
objc_threaded="", objc_threaded="")
|
||||
elif test "$host_os" = linux-gnu; then
|
||||
LIBS="-lobjc -lpthread"
|
||||
|
@ -423,25 +413,32 @@ elif test "`echo $host_os|sed 's/[[0-9]].*//'|sed s/elf//`" = freebsd; then
|
|||
fi
|
||||
elif test "$MINGW32" = yes; then
|
||||
# Mingw doesn't need anything extra for threads
|
||||
LIBS="-lobjc $LIBS $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS"
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="works",
|
||||
objc_threaded="", objc_threaded="works")
|
||||
else
|
||||
LIBS="-lobjc $LIBS $extra_LIBS"
|
||||
LIBS="-lobjc $LIBS"
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="works",
|
||||
objc_threaded="", objc_threaded="")
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lpthread $extra_LIBS"
|
||||
LIBS="-lobjc $saved_LIBS -lpthread "
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="-lpthread $extra_LIBS",
|
||||
objc_threaded="-lpthread",
|
||||
objc_threaded="", objc_threaded="")
|
||||
fi
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lthread $extra_LIBS"
|
||||
# Solaris, OpenBSD/sparc
|
||||
LIBS="-lobjc $saved_LIBS -lpthread -lposix4"
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="-lthread $extra_LIBS",
|
||||
objc_threaded="-lpthread -lposix4",
|
||||
objc_threaded="", objc_threaded="")
|
||||
fi
|
||||
if test x"$objc_threaded" = x""; then
|
||||
LIBS="-lobjc $saved_LIBS -lthread "
|
||||
AC_TRY_RUN([#include "config_thread.m"],
|
||||
objc_threaded="-lthread",
|
||||
objc_threaded="", objc_threaded="")
|
||||
fi
|
||||
fi
|
||||
|
@ -451,7 +448,7 @@ if test x"$objc_threaded" = x""; then
|
|||
AC_MSG_RESULT(no)
|
||||
else
|
||||
if test x"$objc_threaded" = x"works"; then
|
||||
objc_threaded="$extra_LIBS"
|
||||
objc_threaded=""
|
||||
fi
|
||||
AC_MSG_RESULT(yes: $objc_threaded)
|
||||
fi
|
||||
|
@ -492,6 +489,7 @@ else
|
|||
fi
|
||||
|
||||
AC_SUBST(AUTO_DEPENDENCIES)
|
||||
AC_SUBST(INCLUDES)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Enable/disable warnings for deprecated #import directive as required
|
||||
|
@ -514,9 +512,6 @@ if test "$ac_cv_import" = "yes"; then
|
|||
fi
|
||||
AC_SUBST(OBJC_NO_IMPORT_FLAGS)
|
||||
|
||||
CPPFLAGS="$user_CPPFLAGS"
|
||||
AC_SUBST(INCLUDE_FLAGS)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Disable updating the obsolete directory structure
|
||||
#--------------------------------------------------------------------
|
||||
|
|
|
@ -216,6 +216,6 @@ ifeq ($(GUI_LIB), apple)
|
|||
endif
|
||||
|
||||
SYSTEM_INCLUDES = $(CONFIG_SYSTEM_INCL)
|
||||
SYSTEM_LDFLAGS =
|
||||
SYSTEM_LDFLAGS = $(LDFLAGS)
|
||||
SYSTEM_LIB_DIR =
|
||||
SYSTEM_LIBS =
|
||||
|
|
Loading…
Reference in a new issue