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:
@@ -36,6 +36,8 @@ Help distclean : "Remove built targets and configuration" ;
|
||||
Help maintainerclean :
|
||||
"Remove built targets, configuration, and generated files." ;
|
||||
|
||||
ApplicationIconDefault win32 : all : bullet_ico.ico : $(TOP) msvc ;
|
||||
|
||||
MsvcGenSubDir TOP msvc : common ;
|
||||
MsvcGenSubDir TOP msvc 6 : 6 ;
|
||||
MsvcGenSubDir TOP msvc 7 : 7 ;
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
Erwin Coumans
|
||||
|
||||
2006 June 17 Frank Richter <resqu@gmx.ch>
|
||||
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.
|
||||
|
||||
2006 May 24
|
||||
Improved GJK accuracy, fixed GjkConvexCast issue, thanks to ~MyXa~ for reporting
|
||||
|
||||
|
||||
12
configure.ac
12
configure.ac
@@ -9,7 +9,7 @@ AC_PREREQ([2.54])
|
||||
#----------------------------------------------------------------------------
|
||||
AC_INIT(
|
||||
[bullet],
|
||||
[1.1.2006.0319],
|
||||
[1.5.6],
|
||||
[bullet@erwincoumans.com])
|
||||
CS_PACKAGEINFO(
|
||||
[Bullet Continuous Collision Detection and Physics Library],
|
||||
@@ -44,6 +44,16 @@ CS_EMIT_BUILD_PROPERTY([PERL], [$PERL])
|
||||
|
||||
CS_CHECK_TEMPLATE_TOOLKIT2([emit])
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Check if C++ exceptions can be disabled.
|
||||
#----------------------------------------------------------------------------
|
||||
CS_EMIT_BUILD_FLAGS([how to disable C++ exceptions],
|
||||
[cs_cv_prog_cxx_disable_exceptions], [CS_CREATE_TUPLE([-fno-exceptions])],
|
||||
[C++], [COMPILER.C++FLAGS.EXCEPTIONS.DISABLE], [],
|
||||
[CS_EMIT_BUILD_PROPERTY([COMPILER.C++FLAGS],
|
||||
[$cs_cv_prog_cxx_disable_exceptions], [+])])
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Determine system type
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@@ -42,7 +42,7 @@ AC_DEFUN([CS_CHECK_COMMON_TOOLS_LINK],
|
||||
CS_CHECK_TOOLS([STRINGS], [strings])
|
||||
CS_EMIT_BUILD_PROPERTY([CMD.STRINGS], [$STRINGS])
|
||||
|
||||
CS_CHECK_TOOLS([STRINGS], [objcopy])
|
||||
CS_CHECK_TOOLS([OBJCOPY], [objcopy])
|
||||
CS_EMIT_BUILD_PROPERTY([CMD.OBJCOPY], [$OBJCOPY])
|
||||
|
||||
CS_CHECK_LIBTOOL
|
||||
|
||||
@@ -145,7 +145,7 @@ AC_DEFUN([CS_CHECK_GLU],
|
||||
|
||||
# Windows?
|
||||
AS_IF([test $cs_host_family = windows],
|
||||
[cs_win32_gl=CS_CREATE_TUPLE([],[],[-lopengl32])])
|
||||
[cs_win32_glu=CS_CREATE_TUPLE([],[],[-lglu32])])
|
||||
|
||||
# Check for GLU.
|
||||
CS_CHECK_BUILD([for GLU], [cs_cv_libglu],
|
||||
|
||||
@@ -93,6 +93,25 @@ AC_DEFUN([_CS_CHECK_MUTEX_FEATURE],
|
||||
[$cs_cv_sys_pthread_libs])])],
|
||||
[$2=no])])
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# CS_CHECK_PTHREAD_ATFORK(CACHE-VAR)
|
||||
# Checks whether the pthread library contains pthread_atfork(). Sets
|
||||
# CACHE-VAR to "yes" or "no", according to the test result.
|
||||
#------------------------------------------------------------------------------
|
||||
AC_DEFUN([CS_CHECK_PTHREAD_ATFORK],
|
||||
[AS_IF([test $cs_cv_sys_pthread = yes],
|
||||
[AC_CACHE_CHECK([for pthread_atfork support], [$1],
|
||||
[CS_BUILD_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <pthread.h>]],
|
||||
[pthread_atfork (0, 0, 0);])],
|
||||
[], [],
|
||||
[$1=yes], [$1=no],
|
||||
[$cs_cv_sys_pthread_cflags -D_GNU_SOURCE],
|
||||
[$cs_cv_sys_pthread_lflags],
|
||||
[$cs_cv_sys_pthread_libs])])],
|
||||
[$1=no])])
|
||||
|
||||
m4_define([cs_pthread_flags],
|
||||
[CS_CREATE_TUPLE() \
|
||||
CS_CREATE_TUPLE([], [], [-lpthread]) \
|
||||
|
||||
@@ -73,6 +73,7 @@ AC_DEFUN([CS_PROG_CXX],[
|
||||
])
|
||||
|
||||
AC_DEFUN([CS_PROG_LINK],[
|
||||
AC_REQUIRE([CS_PROG_CXX])
|
||||
AS_IF([test -n "$CXX"],
|
||||
[CS_EMIT_BUILD_PROPERTY([CMD.LINK], [AS_ESCAPE([$(CMD.C++)])])],
|
||||
[CS_EMIT_BUILD_PROPERTY([CMD.LINK], [AS_ESCAPE([$(CMD.CC)])])])
|
||||
@@ -87,7 +88,7 @@ AC_DEFUN([CS_PROG_LINK],[
|
||||
# promote the warning to an error, so we must instead scan the compiler's
|
||||
# output for an appropriate diagnostic.
|
||||
CS_CHECK_BUILD_FLAGS([if -shared is accepted], [cs_cv_prog_link_shared],
|
||||
[CS_CREATE_TUPLE([-shared])], [C++],
|
||||
[CS_CREATE_TUPLE([-shared $cs_cv_prog_cxx_pic])], [C++],
|
||||
[CS_EMIT_BUILD_PROPERTY([PLUGIN.LFLAGS], [-shared], [+])], [],
|
||||
[], [], [], [shared])
|
||||
|
||||
|
||||
@@ -55,11 +55,6 @@ rule Application
|
||||
$(<)_SOURCES = $(sources) ;
|
||||
$(<)_TARGET = $(target) ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) ; # create target clean rule
|
||||
|
||||
# so 'jam foo' works when it's really foo.exe (Windows) or foo.app (MacOS/X)
|
||||
if $(target) != $(<)
|
||||
{
|
||||
@@ -88,9 +83,27 @@ rule Application
|
||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||
SystemLinkApplication $(<) : $(objects) : $(3) ;
|
||||
|
||||
local cleanextra ;
|
||||
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||
{
|
||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||
cleanextra += $(debugfile) ;
|
||||
if ! [ IsElem noinstall : $(3) ]
|
||||
{
|
||||
NoCare $(debugfile) ;
|
||||
Depends install_bin : [ DoInstall $(debugfile) : $(bindir) : $(INSTALL_DATA) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
CFlags $(<) : $(APPLICATION.CFLAGS) ;
|
||||
LFlags $(<) : $(LINKLIBS) $(APPLICATION.LFLAGS) ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) $(cleanextra) ;
|
||||
Clean clean : $(cleanextra) ;
|
||||
|
||||
if ! [ IsElem nohelp : $(3) ]
|
||||
{
|
||||
local desc = [ Description $(<) ] ;
|
||||
|
||||
@@ -49,6 +49,7 @@ include $(jamrulesdir)/objectivec.jam ;
|
||||
include $(jamrulesdir)/assembler.jam ;
|
||||
include $(jamrulesdir)/bisonflex.jam ;
|
||||
include $(jamrulesdir)/swig.jam ;
|
||||
include $(jamrulesdir)/strip.jam ;
|
||||
|
||||
include $(jamrulesdir)/flags.jam ;
|
||||
include $(jamrulesdir)/library.jam ;
|
||||
|
||||
@@ -67,11 +67,6 @@ rule Library
|
||||
$(<)_SOURCES = $(sources) ;
|
||||
$(<)_TARGET = $(target) ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) ; # create target clean rule
|
||||
|
||||
# so 'jam foo' works when it's really foo.exe (Windows) or foo.app (MacOS/X)
|
||||
if $(target) != $(<)
|
||||
{
|
||||
@@ -106,6 +101,12 @@ rule Library
|
||||
CFlags $(<) : $(LIBRARY.CFLAGS) ;
|
||||
LFlags $(<) : $(LIBRARY.LFLAGS) ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) $($(<)_CLEANEXTRA) ;
|
||||
Clean clean : $($(<)_CLEANEXTRA) ;
|
||||
|
||||
if ! [ IsElem nohelp : $(options) ]
|
||||
{
|
||||
local desc = [ Description $(<) ] ;
|
||||
@@ -206,8 +207,6 @@ rule LibraryStatic
|
||||
}
|
||||
|
||||
Archive $(target) : $(objects) ;
|
||||
Clean $(<)clean : $(target) ;
|
||||
Depends clean : $(<)clean ;
|
||||
|
||||
if $(RANLIB)
|
||||
{
|
||||
@@ -268,14 +267,24 @@ rule LibraryShared
|
||||
SEARCH on $(linklib) = $(LOCATE.OBJECTS)/libs ;
|
||||
}
|
||||
Depends $(target) : $(objects) ;
|
||||
Clean $(<)clean : $(linklib) $(target) ;
|
||||
Depends clean : $(<)clean ;
|
||||
$(<)_CLEANEXTRA += $(target) ;
|
||||
Depends $(target) : $(deplibs) ;
|
||||
|
||||
CFlags $(<) : [ FDefines CS_$(<:U)_LIB ] ;
|
||||
LFlags $(<) : $(LINKLIBS) ;
|
||||
|
||||
SystemLinkSharedLibrary $(target) : $(objects) $(deplibs) : $(linklib) ;
|
||||
|
||||
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||
{
|
||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||
$(<)_CLEANEXTRA += $(debugfile) ;
|
||||
if ! [ IsElem noinstall : $(options) ]
|
||||
{
|
||||
NoCare $(debugfile) ;
|
||||
Depends install_lib : [ DoInstall $(debugfile) : $(libdir) : $(INSTALL_DATA) ] ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rule ConstructLibraryTarget
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#
|
||||
#==============================================================================
|
||||
|
||||
MSVCGEN_SUPPORTED_VERSIONS = 6 7 71 8 sn71 ;
|
||||
MSVCGEN_SUPPORTED_VERSIONS = 6 7 71 8 ;
|
||||
MSVCGEN_BUILD_ROOT ?= [ ConcatDirs $(BUILDTOP) out ] ;
|
||||
MSVCGEN_BUILD_TEMP ?= [ ConcatDirs $(MSVCGEN_BUILD_ROOT) msvcgen ] ;
|
||||
|
||||
@@ -190,6 +190,13 @@ rule MsvcCFlags1 { }
|
||||
rule MsvcLFlags { MsvcLFlags1 $(1) : $(2) : $(3) ; }
|
||||
rule MsvcLFlags1 { }
|
||||
|
||||
## MsvcExtraFile target : files
|
||||
## Use this rule to add extra file resources to the "Resource files"
|
||||
## filter of the generated project. Commonly, those files are auxiliary
|
||||
## files not specified in the source file list, e.g. ".inc" files.
|
||||
rule MsvcExtraFile { MsvcExtraFile1 $(1) : $(2) ; }
|
||||
rule MsvcExtraFile1 { }
|
||||
|
||||
## MsvcGenName target : name
|
||||
## Assign an MSVC project name to 'target'. Normally, the project name is
|
||||
## 'target' with a prefix of "app", "grp", "lib", "plg", or "wks", depending
|
||||
@@ -440,18 +447,13 @@ if $(MSVC_VERSION) = 6
|
||||
{
|
||||
SUFPRJ = dsp ;
|
||||
SUFWSP = dsw ;
|
||||
MSVC_SUFLIB = lii6iiib ;
|
||||
MSVC_SUFEXE = exe ;
|
||||
MSVC_FORCE_CRLF = yes ;
|
||||
MSVC_TEMPLATE_SUFFIX = 6 ;
|
||||
}
|
||||
else if $(MSVC_VERSION) = 7 || $(MSVC_VERSION) = 71 || $(MSVC_VERSION) = 8 || $(MSVC_VERSION) = sn71
|
||||
else if $(MSVC_VERSION) = 7 || $(MSVC_VERSION) = 71 || $(MSVC_VERSION) = 8
|
||||
{
|
||||
SUFPRJ = vcproj ;
|
||||
SUFWSP = sln ;
|
||||
MSVC_SUFLIB = liiixxiib ;
|
||||
MSVC_SUFEXE = exe ;
|
||||
|
||||
MSVC_FORCE_CRLF = no ;
|
||||
MSVC_TEMPLATE_SUFFIX = 7 ;
|
||||
if $(MSVC_VERSION) = 7
|
||||
@@ -469,14 +471,6 @@ else if $(MSVC_VERSION) = 7 || $(MSVC_VERSION) = 71 || $(MSVC_VERSION) = 8 || $(
|
||||
MSVC_FORMATVERSION_PRJ = 8.00 ;
|
||||
MSVC_FORMATVERSION_WSP = 9.00 ;
|
||||
}
|
||||
else if $(MSVC_VERSION) = sn71
|
||||
{
|
||||
MSVC_FORMATVERSION_PRJ = 7.10 ;
|
||||
MSVC_FORMATVERSION_WSP = 8.00 ;
|
||||
MSVC_TEMPLATE_SUFFIX = sn71 ;
|
||||
MSVC_SUFLIB = a ;
|
||||
MSVC_SUFEXE = elf ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -681,6 +675,11 @@ rule MsvcProject
|
||||
local sources = $(4) ;
|
||||
local options = $(5) ;
|
||||
local relpath = [ Property msvcgen : relpath$(MSVC_VERSION) ] ;
|
||||
local relpathcommon = [ Property msvcgen : relpathcommon ] ;
|
||||
if "$(relpathcommon)" = ""
|
||||
{
|
||||
relpathcommon = $(relpath) ;
|
||||
}
|
||||
local outdir = [ Property msvcgen : outdir$(MSVC_VERSION) ] ;
|
||||
local outdircommon = [ Property msvcgen : outdircommon ] ;
|
||||
if "$(outdircommon)" = ""
|
||||
@@ -833,8 +832,7 @@ rule MsvcProject
|
||||
{
|
||||
local iconrc = $(resource:S=.iconrctmp) ;
|
||||
# RELPATH includes trailing slash (hence the "" in ConcatDirs).
|
||||
RELPATH on $(iconrc) =
|
||||
[ ConcatDirs [ Property msvcgen : relpath$(MSVC_VERSION) ] "" ] ;
|
||||
RELPATH on $(iconrc) = [ ConcatDirs $(relpathcommon) "" ] ;
|
||||
MakeLocate $(iconrc) : $(workdircommon) ;
|
||||
Depends $(iconrc) : $(icon) ;
|
||||
Depends $(iconrc) : $(SUBDIR)/Jamfile ;
|
||||
@@ -1034,7 +1032,7 @@ rule Application
|
||||
{
|
||||
projtype = appgui ;
|
||||
}
|
||||
MsvcProject $(<) : $(projtype) : $(<:S=.$(MSVC_SUFEXE)) : $(>) : $(3) ;
|
||||
MsvcProject $(<) : $(projtype) : $(<:S=.exe) : $(>) : $(3) ;
|
||||
|
||||
CompileGroups $(<) : all apps ;
|
||||
}
|
||||
@@ -1070,7 +1068,7 @@ rule Library
|
||||
{
|
||||
RegisterWellKnownCompileGroup libs ;
|
||||
$(<)_TYPE = library ;
|
||||
MsvcProject $(<) : library : $(<:S=.$(MSVC_SUFLIB)) : $(>) ;
|
||||
MsvcProject $(<) : library : $(<:S=.lib) : $(>) ;
|
||||
CompileGroups $(<) : all libs ;
|
||||
}
|
||||
|
||||
@@ -1085,10 +1083,11 @@ rule StaticPluginLibrary
|
||||
{
|
||||
targets = [ Filter $(targets) : $(rejects) ] ;
|
||||
}
|
||||
local sources ;
|
||||
local sources extlibs ;
|
||||
for t in $(targets)
|
||||
{
|
||||
sources += $(STATICPLUGINS.SOURCES.$(t)) ;
|
||||
extlibs += $($(t).EXTERNALLIBS) ;
|
||||
}
|
||||
|
||||
$(name)_STATIC = "yes" ;
|
||||
@@ -1096,6 +1095,7 @@ rule StaticPluginLibrary
|
||||
Library $(name) : $(sources) ;
|
||||
MsvcDefine $(name) : CS_STATIC_LINKED ;
|
||||
_MsvcDefine $(name) : $(STATICPLUGINS.MSVC_DEFINES) ;
|
||||
ExternalLibs $(name) : [ RemoveDups $(extlibs) ] ;
|
||||
|
||||
# Write out needed CFLAGS, LFLAGS
|
||||
local outdir = [ Property msvcgen : outdircommon ] ;
|
||||
@@ -1129,12 +1129,12 @@ rule WriteDependencies
|
||||
MakeLocate $(depfile_gristed) : [ on $(depfile) GetVar LOCATE ] ;
|
||||
|
||||
# "Artificially" insert static library itself
|
||||
lflags.debug += $(MSVC.PREFIX.library)$(libname)_d.$(MSVC_SUFLIB) ;
|
||||
lflags.release += $(MSVC.PREFIX.library)$(libname).$(MSVC_SUFLIB) ;
|
||||
lflags.debug += $(MSVC.PREFIX.library)$(libname)_d.lib ;
|
||||
lflags.release += $(MSVC.PREFIX.library)$(libname).lib ;
|
||||
# Collect other libs
|
||||
local libs = [ ResolveLibs $($(plugin).NEEDLIBS) ] ;
|
||||
lflags.debug += $(MSVC.PREFIX.library)$(libs)_d.$(MSVC_SUFLIB) ;
|
||||
lflags.release += $(MSVC.PREFIX.library)$(libs).$(MSVC_SUFLIB) ;
|
||||
lflags.debug += $(MSVC.PREFIX.library)$(libs)_d.lib ;
|
||||
lflags.release += $(MSVC.PREFIX.library)$(libs).lib ;
|
||||
|
||||
# Defines
|
||||
local l ;
|
||||
@@ -1352,6 +1352,20 @@ rule MsvcLFlags1
|
||||
_MsvcRespEmit $(1) : $(2) : lflags : $(3) ;
|
||||
}
|
||||
|
||||
# MsvcLFlags target : files
|
||||
# (See documentation above.)
|
||||
rule MsvcExtraFile1
|
||||
{
|
||||
local rawname = $(1) ;
|
||||
local files = $(2) ;
|
||||
|
||||
local respfile = $($(rawname)_PRJ_RESPFILE) ;
|
||||
local respdir = $($(rawname)_PRJ_RESPDIR) ;
|
||||
|
||||
ResponseFile $(respfile) : "file|$(files)" : notfile :
|
||||
$(respdir) ;
|
||||
}
|
||||
|
||||
# _MsvcIncDirs target : incdirs [ : mode ]
|
||||
# Helper for ExternalLibs which processes the contents of TAG.INCDIRS for
|
||||
# an external library.
|
||||
|
||||
@@ -54,11 +54,6 @@ rule Plugin
|
||||
$(<)_TARGET = $(target) ;
|
||||
$(<)_METAFILE = $(metafile) ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) ; # create target clean rule
|
||||
|
||||
# Create a target for eventual static linking
|
||||
if ! $(NO_STATIC_LINKING)
|
||||
{
|
||||
@@ -116,9 +111,27 @@ rule Plugin
|
||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||
SystemLinkPlugin $(<) : $(objects) : $(3) ;
|
||||
|
||||
local cleanextra ;
|
||||
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||
{
|
||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||
cleanextra += $(debugfile) ;
|
||||
if ! [ IsElem noinstall : $(3) ]
|
||||
{
|
||||
NoCare $(debugfile) ;
|
||||
Depends install_plugin : [ DoInstall $(debugfile) : $(plugindir) : $(INSTALL_DATA) ] ;
|
||||
}
|
||||
}
|
||||
|
||||
CFlags $(<) : $(PLUGIN.CFLAGS) : nostatic ;
|
||||
LFlags $(<) : $(LINKLIBS) $(PLUGIN.LFLAGS) : nostatic ;
|
||||
|
||||
# create target clean rule
|
||||
Always $(<)clean ;
|
||||
NotFile $(<)clean ;
|
||||
Clean $(<)clean : $(objects) $(cleanextra) ;
|
||||
Clean clean : $(cleanextra) ;
|
||||
|
||||
if ! [ IsElem nohelp : $(3) ]
|
||||
{
|
||||
local desc = [ Description $(<) ] ;
|
||||
|
||||
36
mk/jam/strip.jam
Normal file
36
mk/jam/strip.jam
Normal file
@@ -0,0 +1,36 @@
|
||||
#============================================================================
|
||||
# Rules for stripping binaries
|
||||
# Copyright (C)2006 by Frank Richter
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#============================================================================
|
||||
|
||||
## SplitDebugInfo binary
|
||||
## Strips the debugging information into a separate external file.
|
||||
rule SplitDebugInfo
|
||||
{
|
||||
local binary = $(1) ;
|
||||
DoSplitDebugInfo $(binary) ;
|
||||
return $(binary).dbg ;
|
||||
}
|
||||
|
||||
actions DoSplitDebugInfo
|
||||
{
|
||||
$(CMD.OBJCOPY) --only-keep-debug $(<) $(<).dbg
|
||||
$(CMD.OBJCOPY) --strip-unneeded $(<)
|
||||
$(CMD.OBJCOPY) --add-gnu-debuglink=$(<).dbg $(<)
|
||||
if [ "$(CHMOD)" ] ; then $(CHMOD) a-x $(<).dbg ; fi
|
||||
}
|
||||
@@ -117,7 +117,15 @@ rule SystemLinkSharedLibrary
|
||||
{
|
||||
LFlags $(<) : $(LINKLIBS) ;
|
||||
Depends $(<) : $(>) ;
|
||||
LinkSharedLibrary $(<) : $(>) : $(3) ;
|
||||
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 : $(<) ;
|
||||
|
||||
Reference in New Issue
Block a user