Bumped version in configure.ac to 1.5.6 (assuming that "1.5f" is
the next version released). Updated files in mk/autoconf and mk/jam with copies from CS; fixes a GLU detection issue on MinGW. Set msvc/bullet_ico.ico as the default application icon. Disabled exceptions for gcc builds.
This commit is contained in:
310
mk/jam/unix.jam
310
mk/jam/unix.jam
@@ -1,151 +1,159 @@
|
||||
#============================================================================
|
||||
# Jam configuration and actions for Unix (GNU/Linux, BSD, Darwin, etc.)
|
||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||
# License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public License
|
||||
# along with this library; if not, write to the Free Software Foundation,
|
||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
#============================================================================
|
||||
SHELL ?= "/bin/sh" ;
|
||||
|
||||
# Only use nasm on x86 for now...
|
||||
NASM.FLAGS += -f elf ;
|
||||
|
||||
PLUGIN.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
||||
LIBRARY.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
||||
|
||||
# The BFD tag name under which to embed meta-information into a plugin module.
|
||||
# This much match the name expected by csGetPluginMetadata() (bfdplugins.cpp).
|
||||
SECTION_TAG_NAME ?= .crystalspace ;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# platform specific rules
|
||||
|
||||
## ConstructApplicationTarget target : options
|
||||
## Constructs the application target name (ie. foo.exe for foo)
|
||||
rule ConstructApplicationTarget
|
||||
{
|
||||
return $(<) ;
|
||||
}
|
||||
rule ConstructStaticLibraryTarget
|
||||
{
|
||||
return lib$(<)$(SUFLIB) ;
|
||||
}
|
||||
rule ConstructSharedLibraryTarget
|
||||
{
|
||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||
}
|
||||
rule ConstructSharedLibraryLinkLib
|
||||
{
|
||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||
}
|
||||
rule ConstructPluginTarget
|
||||
{
|
||||
return $(<).so ;
|
||||
}
|
||||
|
||||
# SystemLinkApplication target : objects : options
|
||||
# do system specific actions needed for linking the application and construct
|
||||
# correct clean targets.
|
||||
rule SystemLinkApplication
|
||||
{
|
||||
local target = $($(<)_TARGET) ;
|
||||
|
||||
Depends $(target) : $(>) ;
|
||||
LinkApplication $(target) : $(>) ;
|
||||
# setup clean rules
|
||||
Clean clean : $(target) ;
|
||||
Clean $(<)clean : $(target) ;
|
||||
}
|
||||
|
||||
rule SystemInstallApplication
|
||||
{
|
||||
Depends install_bin :
|
||||
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
||||
}
|
||||
|
||||
rule SystemInstallPlugin
|
||||
{
|
||||
Depends install_plugin : [ DoInstall $(<) : $(plugindir) $(2) :
|
||||
$(INSTALL_PROGRAM) ] ;
|
||||
}
|
||||
|
||||
# Put the meta data into the object file headers
|
||||
rule ObjTagMetaData
|
||||
{
|
||||
Depends $(<) : $(>) ;
|
||||
}
|
||||
actions ObjTagMetaData
|
||||
{
|
||||
$(CMD.OBJCOPY) --add-section $(SECTION_TAG_NAME)=$(>) $(<)
|
||||
}
|
||||
|
||||
# SystemLinkPlugin target : objects : options
|
||||
# do system specific actions needed for linking the plugin and construct
|
||||
# correct clean targets.
|
||||
rule SystemLinkPlugin
|
||||
{
|
||||
local target = $($(<)_TARGET) ;
|
||||
|
||||
Depends $(target) : $(>) ;
|
||||
LinkPlugin $(target) : $(>) ;
|
||||
if $(EMBED_META) = "yes" && $(OBJCOPY.AVAILABLE) = "yes"
|
||||
{
|
||||
ObjTagMetaData $(target) : $($(<)_METAFILE) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
||||
}
|
||||
# setup clean rules
|
||||
Clean clean : $(target) ;
|
||||
Clean $(<)clean : $(target) ;
|
||||
}
|
||||
|
||||
rule SystemLinkSharedLibrary
|
||||
{
|
||||
LFlags $(<) : $(LINKLIBS) ;
|
||||
Depends $(<) : $(>) ;
|
||||
LinkSharedLibrary $(<) : $(>) : $(3) ;
|
||||
|
||||
Clean clean : $(<) ;
|
||||
Clean $(<)clean : $(<) ;
|
||||
}
|
||||
|
||||
actions LinkApplication bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||
}
|
||||
|
||||
if $(PLUGIN.LFLAGS.USE_SONAME) = "yes"
|
||||
{
|
||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||
-Wl,-soname,$(<:BS)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||
}
|
||||
}
|
||||
|
||||
actions LinkSharedLibrary bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -shared -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||
-Wl,-soname,$(<:BS)
|
||||
}
|
||||
#============================================================================
|
||||
# Jam configuration and actions for Unix (GNU/Linux, BSD, Darwin, etc.)
|
||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||
# License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public License
|
||||
# along with this library; if not, write to the Free Software Foundation,
|
||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
#============================================================================
|
||||
SHELL ?= "/bin/sh" ;
|
||||
|
||||
# Only use nasm on x86 for now...
|
||||
NASM.FLAGS += -f elf ;
|
||||
|
||||
PLUGIN.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
||||
LIBRARY.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
||||
|
||||
# The BFD tag name under which to embed meta-information into a plugin module.
|
||||
# This much match the name expected by csGetPluginMetadata() (bfdplugins.cpp).
|
||||
SECTION_TAG_NAME ?= .crystalspace ;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# platform specific rules
|
||||
|
||||
## ConstructApplicationTarget target : options
|
||||
## Constructs the application target name (ie. foo.exe for foo)
|
||||
rule ConstructApplicationTarget
|
||||
{
|
||||
return $(<) ;
|
||||
}
|
||||
rule ConstructStaticLibraryTarget
|
||||
{
|
||||
return lib$(<)$(SUFLIB) ;
|
||||
}
|
||||
rule ConstructSharedLibraryTarget
|
||||
{
|
||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||
}
|
||||
rule ConstructSharedLibraryLinkLib
|
||||
{
|
||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||
}
|
||||
rule ConstructPluginTarget
|
||||
{
|
||||
return $(<).so ;
|
||||
}
|
||||
|
||||
# SystemLinkApplication target : objects : options
|
||||
# do system specific actions needed for linking the application and construct
|
||||
# correct clean targets.
|
||||
rule SystemLinkApplication
|
||||
{
|
||||
local target = $($(<)_TARGET) ;
|
||||
|
||||
Depends $(target) : $(>) ;
|
||||
LinkApplication $(target) : $(>) ;
|
||||
# setup clean rules
|
||||
Clean clean : $(target) ;
|
||||
Clean $(<)clean : $(target) ;
|
||||
}
|
||||
|
||||
rule SystemInstallApplication
|
||||
{
|
||||
Depends install_bin :
|
||||
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
||||
}
|
||||
|
||||
rule SystemInstallPlugin
|
||||
{
|
||||
Depends install_plugin : [ DoInstall $(<) : $(plugindir) $(2) :
|
||||
$(INSTALL_PROGRAM) ] ;
|
||||
}
|
||||
|
||||
# Put the meta data into the object file headers
|
||||
rule ObjTagMetaData
|
||||
{
|
||||
Depends $(<) : $(>) ;
|
||||
}
|
||||
actions ObjTagMetaData
|
||||
{
|
||||
$(CMD.OBJCOPY) --add-section $(SECTION_TAG_NAME)=$(>) $(<)
|
||||
}
|
||||
|
||||
# SystemLinkPlugin target : objects : options
|
||||
# do system specific actions needed for linking the plugin and construct
|
||||
# correct clean targets.
|
||||
rule SystemLinkPlugin
|
||||
{
|
||||
local target = $($(<)_TARGET) ;
|
||||
|
||||
Depends $(target) : $(>) ;
|
||||
LinkPlugin $(target) : $(>) ;
|
||||
if $(EMBED_META) = "yes" && $(OBJCOPY.AVAILABLE) = "yes"
|
||||
{
|
||||
ObjTagMetaData $(target) : $($(<)_METAFILE) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
||||
}
|
||||
# setup clean rules
|
||||
Clean clean : $(target) ;
|
||||
Clean $(<)clean : $(target) ;
|
||||
}
|
||||
|
||||
rule SystemLinkSharedLibrary
|
||||
{
|
||||
LFlags $(<) : $(LINKLIBS) ;
|
||||
Depends $(<) : $(>) ;
|
||||
local response = $(<).resp ;
|
||||
MakeLocate $(response) : $(LOCATE.OBJECTS)/libs ;
|
||||
ResponseFile $(response) : $(>) ;
|
||||
# @@@ FIXME: response files are only supported on newer binutils
|
||||
# But quite useful to avoid blowing jam's 10240 max action length.
|
||||
#Depends $(response) : $(>) ;
|
||||
#Depends $(<) : $(response) ;
|
||||
#LinkSharedLibrary $(<) : $(response) ;
|
||||
LinkSharedLibrary $(<) : $(>) ;
|
||||
|
||||
Clean clean : $(<) ;
|
||||
Clean $(<)clean : $(<) ;
|
||||
}
|
||||
|
||||
actions LinkApplication bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||
}
|
||||
|
||||
if $(PLUGIN.LFLAGS.USE_SONAME) = "yes"
|
||||
{
|
||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||
-Wl,-soname,$(<:BS)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||
}
|
||||
}
|
||||
|
||||
actions LinkSharedLibrary bind NEEDLIBS bind EXTRAOBJECTS
|
||||
{
|
||||
$(CMD.LINK) -shared -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||
-Wl,-soname,$(<:BS)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user