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 :
|
Help maintainerclean :
|
||||||
"Remove built targets, configuration, and generated files." ;
|
"Remove built targets, configuration, and generated files." ;
|
||||||
|
|
||||||
|
ApplicationIconDefault win32 : all : bullet_ico.ico : $(TOP) msvc ;
|
||||||
|
|
||||||
MsvcGenSubDir TOP msvc : common ;
|
MsvcGenSubDir TOP msvc : common ;
|
||||||
MsvcGenSubDir TOP msvc 6 : 6 ;
|
MsvcGenSubDir TOP msvc 6 : 6 ;
|
||||||
MsvcGenSubDir TOP msvc 7 : 7 ;
|
MsvcGenSubDir TOP msvc 7 : 7 ;
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
Bullet Continuous Collision Detection and Physics Library
|
Bullet Continuous Collision Detection and Physics Library
|
||||||
Erwin Coumans
|
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
|
2006 May 24
|
||||||
Improved GJK accuracy, fixed GjkConvexCast issue, thanks to ~MyXa~ for reporting
|
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(
|
AC_INIT(
|
||||||
[bullet],
|
[bullet],
|
||||||
[1.1.2006.0319],
|
[1.5.6],
|
||||||
[bullet@erwincoumans.com])
|
[bullet@erwincoumans.com])
|
||||||
CS_PACKAGEINFO(
|
CS_PACKAGEINFO(
|
||||||
[Bullet Continuous Collision Detection and Physics Library],
|
[Bullet Continuous Collision Detection and Physics Library],
|
||||||
@@ -44,6 +44,16 @@ CS_EMIT_BUILD_PROPERTY([PERL], [$PERL])
|
|||||||
|
|
||||||
CS_CHECK_TEMPLATE_TOOLKIT2([emit])
|
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
|
# Determine system type
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ AC_DEFUN([CS_CHECK_COMMON_TOOLS_LINK],
|
|||||||
CS_CHECK_TOOLS([STRINGS], [strings])
|
CS_CHECK_TOOLS([STRINGS], [strings])
|
||||||
CS_EMIT_BUILD_PROPERTY([CMD.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_EMIT_BUILD_PROPERTY([CMD.OBJCOPY], [$OBJCOPY])
|
||||||
|
|
||||||
CS_CHECK_LIBTOOL
|
CS_CHECK_LIBTOOL
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ AC_DEFUN([CS_CHECK_GLU],
|
|||||||
|
|
||||||
# Windows?
|
# Windows?
|
||||||
AS_IF([test $cs_host_family = 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.
|
# Check for GLU.
|
||||||
CS_CHECK_BUILD([for GLU], [cs_cv_libglu],
|
CS_CHECK_BUILD([for GLU], [cs_cv_libglu],
|
||||||
|
|||||||
@@ -93,6 +93,25 @@ AC_DEFUN([_CS_CHECK_MUTEX_FEATURE],
|
|||||||
[$cs_cv_sys_pthread_libs])])],
|
[$cs_cv_sys_pthread_libs])])],
|
||||||
[$2=no])])
|
[$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],
|
m4_define([cs_pthread_flags],
|
||||||
[CS_CREATE_TUPLE() \
|
[CS_CREATE_TUPLE() \
|
||||||
CS_CREATE_TUPLE([], [], [-lpthread]) \
|
CS_CREATE_TUPLE([], [], [-lpthread]) \
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ AC_DEFUN([CS_PROG_CXX],[
|
|||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([CS_PROG_LINK],[
|
AC_DEFUN([CS_PROG_LINK],[
|
||||||
|
AC_REQUIRE([CS_PROG_CXX])
|
||||||
AS_IF([test -n "$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.C++)])])],
|
||||||
[CS_EMIT_BUILD_PROPERTY([CMD.LINK], [AS_ESCAPE([$(CMD.CC)])])])
|
[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
|
# promote the warning to an error, so we must instead scan the compiler's
|
||||||
# output for an appropriate diagnostic.
|
# output for an appropriate diagnostic.
|
||||||
CS_CHECK_BUILD_FLAGS([if -shared is accepted], [cs_cv_prog_link_shared],
|
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], [+])], [],
|
[CS_EMIT_BUILD_PROPERTY([PLUGIN.LFLAGS], [-shared], [+])], [],
|
||||||
[], [], [], [shared])
|
[], [], [], [shared])
|
||||||
|
|
||||||
|
|||||||
@@ -55,11 +55,6 @@ rule Application
|
|||||||
$(<)_SOURCES = $(sources) ;
|
$(<)_SOURCES = $(sources) ;
|
||||||
$(<)_TARGET = $(target) ;
|
$(<)_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)
|
# so 'jam foo' works when it's really foo.exe (Windows) or foo.app (MacOS/X)
|
||||||
if $(target) != $(<)
|
if $(target) != $(<)
|
||||||
{
|
{
|
||||||
@@ -88,9 +83,27 @@ rule Application
|
|||||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||||
SystemLinkApplication $(<) : $(objects) : $(3) ;
|
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) ;
|
CFlags $(<) : $(APPLICATION.CFLAGS) ;
|
||||||
LFlags $(<) : $(LINKLIBS) $(APPLICATION.LFLAGS) ;
|
LFlags $(<) : $(LINKLIBS) $(APPLICATION.LFLAGS) ;
|
||||||
|
|
||||||
|
# create target clean rule
|
||||||
|
Always $(<)clean ;
|
||||||
|
NotFile $(<)clean ;
|
||||||
|
Clean $(<)clean : $(objects) $(cleanextra) ;
|
||||||
|
Clean clean : $(cleanextra) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(3) ]
|
if ! [ IsElem nohelp : $(3) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ include $(jamrulesdir)/objectivec.jam ;
|
|||||||
include $(jamrulesdir)/assembler.jam ;
|
include $(jamrulesdir)/assembler.jam ;
|
||||||
include $(jamrulesdir)/bisonflex.jam ;
|
include $(jamrulesdir)/bisonflex.jam ;
|
||||||
include $(jamrulesdir)/swig.jam ;
|
include $(jamrulesdir)/swig.jam ;
|
||||||
|
include $(jamrulesdir)/strip.jam ;
|
||||||
|
|
||||||
include $(jamrulesdir)/flags.jam ;
|
include $(jamrulesdir)/flags.jam ;
|
||||||
include $(jamrulesdir)/library.jam ;
|
include $(jamrulesdir)/library.jam ;
|
||||||
|
|||||||
@@ -67,11 +67,6 @@ rule Library
|
|||||||
$(<)_SOURCES = $(sources) ;
|
$(<)_SOURCES = $(sources) ;
|
||||||
$(<)_TARGET = $(target) ;
|
$(<)_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)
|
# so 'jam foo' works when it's really foo.exe (Windows) or foo.app (MacOS/X)
|
||||||
if $(target) != $(<)
|
if $(target) != $(<)
|
||||||
{
|
{
|
||||||
@@ -106,6 +101,12 @@ rule Library
|
|||||||
CFlags $(<) : $(LIBRARY.CFLAGS) ;
|
CFlags $(<) : $(LIBRARY.CFLAGS) ;
|
||||||
LFlags $(<) : $(LIBRARY.LFLAGS) ;
|
LFlags $(<) : $(LIBRARY.LFLAGS) ;
|
||||||
|
|
||||||
|
# create target clean rule
|
||||||
|
Always $(<)clean ;
|
||||||
|
NotFile $(<)clean ;
|
||||||
|
Clean $(<)clean : $(objects) $($(<)_CLEANEXTRA) ;
|
||||||
|
Clean clean : $($(<)_CLEANEXTRA) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(options) ]
|
if ! [ IsElem nohelp : $(options) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
@@ -206,8 +207,6 @@ rule LibraryStatic
|
|||||||
}
|
}
|
||||||
|
|
||||||
Archive $(target) : $(objects) ;
|
Archive $(target) : $(objects) ;
|
||||||
Clean $(<)clean : $(target) ;
|
|
||||||
Depends clean : $(<)clean ;
|
|
||||||
|
|
||||||
if $(RANLIB)
|
if $(RANLIB)
|
||||||
{
|
{
|
||||||
@@ -268,14 +267,24 @@ rule LibraryShared
|
|||||||
SEARCH on $(linklib) = $(LOCATE.OBJECTS)/libs ;
|
SEARCH on $(linklib) = $(LOCATE.OBJECTS)/libs ;
|
||||||
}
|
}
|
||||||
Depends $(target) : $(objects) ;
|
Depends $(target) : $(objects) ;
|
||||||
Clean $(<)clean : $(linklib) $(target) ;
|
$(<)_CLEANEXTRA += $(target) ;
|
||||||
Depends clean : $(<)clean ;
|
|
||||||
Depends $(target) : $(deplibs) ;
|
Depends $(target) : $(deplibs) ;
|
||||||
|
|
||||||
CFlags $(<) : [ FDefines CS_$(<:U)_LIB ] ;
|
CFlags $(<) : [ FDefines CS_$(<:U)_LIB ] ;
|
||||||
LFlags $(<) : $(LINKLIBS) ;
|
LFlags $(<) : $(LINKLIBS) ;
|
||||||
|
|
||||||
SystemLinkSharedLibrary $(target) : $(objects) $(deplibs) : $(linklib) ;
|
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
|
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_ROOT ?= [ ConcatDirs $(BUILDTOP) out ] ;
|
||||||
MSVCGEN_BUILD_TEMP ?= [ ConcatDirs $(MSVCGEN_BUILD_ROOT) msvcgen ] ;
|
MSVCGEN_BUILD_TEMP ?= [ ConcatDirs $(MSVCGEN_BUILD_ROOT) msvcgen ] ;
|
||||||
|
|
||||||
@@ -190,6 +190,13 @@ rule MsvcCFlags1 { }
|
|||||||
rule MsvcLFlags { MsvcLFlags1 $(1) : $(2) : $(3) ; }
|
rule MsvcLFlags { MsvcLFlags1 $(1) : $(2) : $(3) ; }
|
||||||
rule MsvcLFlags1 { }
|
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
|
## MsvcGenName target : name
|
||||||
## Assign an MSVC project name to 'target'. Normally, the project name is
|
## Assign an MSVC project name to 'target'. Normally, the project name is
|
||||||
## 'target' with a prefix of "app", "grp", "lib", "plg", or "wks", depending
|
## 'target' with a prefix of "app", "grp", "lib", "plg", or "wks", depending
|
||||||
@@ -440,18 +447,13 @@ if $(MSVC_VERSION) = 6
|
|||||||
{
|
{
|
||||||
SUFPRJ = dsp ;
|
SUFPRJ = dsp ;
|
||||||
SUFWSP = dsw ;
|
SUFWSP = dsw ;
|
||||||
MSVC_SUFLIB = lii6iiib ;
|
|
||||||
MSVC_SUFEXE = exe ;
|
|
||||||
MSVC_FORCE_CRLF = yes ;
|
MSVC_FORCE_CRLF = yes ;
|
||||||
MSVC_TEMPLATE_SUFFIX = 6 ;
|
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 ;
|
SUFPRJ = vcproj ;
|
||||||
SUFWSP = sln ;
|
SUFWSP = sln ;
|
||||||
MSVC_SUFLIB = liiixxiib ;
|
|
||||||
MSVC_SUFEXE = exe ;
|
|
||||||
|
|
||||||
MSVC_FORCE_CRLF = no ;
|
MSVC_FORCE_CRLF = no ;
|
||||||
MSVC_TEMPLATE_SUFFIX = 7 ;
|
MSVC_TEMPLATE_SUFFIX = 7 ;
|
||||||
if $(MSVC_VERSION) = 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_PRJ = 8.00 ;
|
||||||
MSVC_FORMATVERSION_WSP = 9.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
|
else
|
||||||
{
|
{
|
||||||
@@ -681,6 +675,11 @@ rule MsvcProject
|
|||||||
local sources = $(4) ;
|
local sources = $(4) ;
|
||||||
local options = $(5) ;
|
local options = $(5) ;
|
||||||
local relpath = [ Property msvcgen : relpath$(MSVC_VERSION) ] ;
|
local relpath = [ Property msvcgen : relpath$(MSVC_VERSION) ] ;
|
||||||
|
local relpathcommon = [ Property msvcgen : relpathcommon ] ;
|
||||||
|
if "$(relpathcommon)" = ""
|
||||||
|
{
|
||||||
|
relpathcommon = $(relpath) ;
|
||||||
|
}
|
||||||
local outdir = [ Property msvcgen : outdir$(MSVC_VERSION) ] ;
|
local outdir = [ Property msvcgen : outdir$(MSVC_VERSION) ] ;
|
||||||
local outdircommon = [ Property msvcgen : outdircommon ] ;
|
local outdircommon = [ Property msvcgen : outdircommon ] ;
|
||||||
if "$(outdircommon)" = ""
|
if "$(outdircommon)" = ""
|
||||||
@@ -833,8 +832,7 @@ rule MsvcProject
|
|||||||
{
|
{
|
||||||
local iconrc = $(resource:S=.iconrctmp) ;
|
local iconrc = $(resource:S=.iconrctmp) ;
|
||||||
# RELPATH includes trailing slash (hence the "" in ConcatDirs).
|
# RELPATH includes trailing slash (hence the "" in ConcatDirs).
|
||||||
RELPATH on $(iconrc) =
|
RELPATH on $(iconrc) = [ ConcatDirs $(relpathcommon) "" ] ;
|
||||||
[ ConcatDirs [ Property msvcgen : relpath$(MSVC_VERSION) ] "" ] ;
|
|
||||||
MakeLocate $(iconrc) : $(workdircommon) ;
|
MakeLocate $(iconrc) : $(workdircommon) ;
|
||||||
Depends $(iconrc) : $(icon) ;
|
Depends $(iconrc) : $(icon) ;
|
||||||
Depends $(iconrc) : $(SUBDIR)/Jamfile ;
|
Depends $(iconrc) : $(SUBDIR)/Jamfile ;
|
||||||
@@ -1034,7 +1032,7 @@ rule Application
|
|||||||
{
|
{
|
||||||
projtype = appgui ;
|
projtype = appgui ;
|
||||||
}
|
}
|
||||||
MsvcProject $(<) : $(projtype) : $(<:S=.$(MSVC_SUFEXE)) : $(>) : $(3) ;
|
MsvcProject $(<) : $(projtype) : $(<:S=.exe) : $(>) : $(3) ;
|
||||||
|
|
||||||
CompileGroups $(<) : all apps ;
|
CompileGroups $(<) : all apps ;
|
||||||
}
|
}
|
||||||
@@ -1070,7 +1068,7 @@ rule Library
|
|||||||
{
|
{
|
||||||
RegisterWellKnownCompileGroup libs ;
|
RegisterWellKnownCompileGroup libs ;
|
||||||
$(<)_TYPE = library ;
|
$(<)_TYPE = library ;
|
||||||
MsvcProject $(<) : library : $(<:S=.$(MSVC_SUFLIB)) : $(>) ;
|
MsvcProject $(<) : library : $(<:S=.lib) : $(>) ;
|
||||||
CompileGroups $(<) : all libs ;
|
CompileGroups $(<) : all libs ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1085,10 +1083,11 @@ rule StaticPluginLibrary
|
|||||||
{
|
{
|
||||||
targets = [ Filter $(targets) : $(rejects) ] ;
|
targets = [ Filter $(targets) : $(rejects) ] ;
|
||||||
}
|
}
|
||||||
local sources ;
|
local sources extlibs ;
|
||||||
for t in $(targets)
|
for t in $(targets)
|
||||||
{
|
{
|
||||||
sources += $(STATICPLUGINS.SOURCES.$(t)) ;
|
sources += $(STATICPLUGINS.SOURCES.$(t)) ;
|
||||||
|
extlibs += $($(t).EXTERNALLIBS) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(name)_STATIC = "yes" ;
|
$(name)_STATIC = "yes" ;
|
||||||
@@ -1096,6 +1095,7 @@ rule StaticPluginLibrary
|
|||||||
Library $(name) : $(sources) ;
|
Library $(name) : $(sources) ;
|
||||||
MsvcDefine $(name) : CS_STATIC_LINKED ;
|
MsvcDefine $(name) : CS_STATIC_LINKED ;
|
||||||
_MsvcDefine $(name) : $(STATICPLUGINS.MSVC_DEFINES) ;
|
_MsvcDefine $(name) : $(STATICPLUGINS.MSVC_DEFINES) ;
|
||||||
|
ExternalLibs $(name) : [ RemoveDups $(extlibs) ] ;
|
||||||
|
|
||||||
# Write out needed CFLAGS, LFLAGS
|
# Write out needed CFLAGS, LFLAGS
|
||||||
local outdir = [ Property msvcgen : outdircommon ] ;
|
local outdir = [ Property msvcgen : outdircommon ] ;
|
||||||
@@ -1129,12 +1129,12 @@ rule WriteDependencies
|
|||||||
MakeLocate $(depfile_gristed) : [ on $(depfile) GetVar LOCATE ] ;
|
MakeLocate $(depfile_gristed) : [ on $(depfile) GetVar LOCATE ] ;
|
||||||
|
|
||||||
# "Artificially" insert static library itself
|
# "Artificially" insert static library itself
|
||||||
lflags.debug += $(MSVC.PREFIX.library)$(libname)_d.$(MSVC_SUFLIB) ;
|
lflags.debug += $(MSVC.PREFIX.library)$(libname)_d.lib ;
|
||||||
lflags.release += $(MSVC.PREFIX.library)$(libname).$(MSVC_SUFLIB) ;
|
lflags.release += $(MSVC.PREFIX.library)$(libname).lib ;
|
||||||
# Collect other libs
|
# Collect other libs
|
||||||
local libs = [ ResolveLibs $($(plugin).NEEDLIBS) ] ;
|
local libs = [ ResolveLibs $($(plugin).NEEDLIBS) ] ;
|
||||||
lflags.debug += $(MSVC.PREFIX.library)$(libs)_d.$(MSVC_SUFLIB) ;
|
lflags.debug += $(MSVC.PREFIX.library)$(libs)_d.lib ;
|
||||||
lflags.release += $(MSVC.PREFIX.library)$(libs).$(MSVC_SUFLIB) ;
|
lflags.release += $(MSVC.PREFIX.library)$(libs).lib ;
|
||||||
|
|
||||||
# Defines
|
# Defines
|
||||||
local l ;
|
local l ;
|
||||||
@@ -1352,6 +1352,20 @@ rule MsvcLFlags1
|
|||||||
_MsvcRespEmit $(1) : $(2) : lflags : $(3) ;
|
_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 ]
|
# _MsvcIncDirs target : incdirs [ : mode ]
|
||||||
# Helper for ExternalLibs which processes the contents of TAG.INCDIRS for
|
# Helper for ExternalLibs which processes the contents of TAG.INCDIRS for
|
||||||
# an external library.
|
# an external library.
|
||||||
|
|||||||
@@ -54,11 +54,6 @@ rule Plugin
|
|||||||
$(<)_TARGET = $(target) ;
|
$(<)_TARGET = $(target) ;
|
||||||
$(<)_METAFILE = $(metafile) ;
|
$(<)_METAFILE = $(metafile) ;
|
||||||
|
|
||||||
# create target clean rule
|
|
||||||
Always $(<)clean ;
|
|
||||||
NotFile $(<)clean ;
|
|
||||||
Clean $(<)clean : $(objects) ; # create target clean rule
|
|
||||||
|
|
||||||
# Create a target for eventual static linking
|
# Create a target for eventual static linking
|
||||||
if ! $(NO_STATIC_LINKING)
|
if ! $(NO_STATIC_LINKING)
|
||||||
{
|
{
|
||||||
@@ -116,9 +111,27 @@ rule Plugin
|
|||||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||||
SystemLinkPlugin $(<) : $(objects) : $(3) ;
|
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 ;
|
CFlags $(<) : $(PLUGIN.CFLAGS) : nostatic ;
|
||||||
LFlags $(<) : $(LINKLIBS) $(PLUGIN.LFLAGS) : 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) ]
|
if ! [ IsElem nohelp : $(3) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
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) ;
|
LFlags $(<) : $(LINKLIBS) ;
|
||||||
Depends $(<) : $(>) ;
|
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 : $(<) ;
|
||||||
Clean $(<)clean : $(<) ;
|
Clean $(<)clean : $(<) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user