Regenerated configure & VC projects.
Misc property fixes.
This commit is contained in:
245
configure
vendored
245
configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.59 for bullet 1.1.2006.0319.
|
# Generated by GNU Autoconf 2.59 for bullet 1.5.6.
|
||||||
#
|
#
|
||||||
# Report bugs to <bullet@erwincoumans.com>.
|
# Report bugs to <bullet@erwincoumans.com>.
|
||||||
#
|
#
|
||||||
@@ -271,8 +271,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='bullet'
|
PACKAGE_NAME='bullet'
|
||||||
PACKAGE_TARNAME='bullet'
|
PACKAGE_TARNAME='bullet'
|
||||||
PACKAGE_VERSION='1.1.2006.0319'
|
PACKAGE_VERSION='1.5.6'
|
||||||
PACKAGE_STRING='bullet 1.1.2006.0319'
|
PACKAGE_STRING='bullet 1.5.6'
|
||||||
PACKAGE_BUGREPORT='bullet@erwincoumans.com'
|
PACKAGE_BUGREPORT='bullet@erwincoumans.com'
|
||||||
|
|
||||||
ac_unique_file="mk/jam/build.jam"
|
ac_unique_file="mk/jam/build.jam"
|
||||||
@@ -313,7 +313,7 @@ ac_includes_default="\
|
|||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif"
|
#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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP WINDRES ac_ct_WINDRES STRINGS ac_ct_STRINGS LIBTOOL_TEST ac_ct_LIBTOOL_TEST LIBTOOL_PATH LIBTOOL ac_ct_LIBTOOL CS_LT_APPLE APPLE_LIBTOOL MKDIR MKDIRS INSTALL DOXYGEN DOT ac_ct_DOT PERL TTREE CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS EGREP 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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP WINDRES ac_ct_WINDRES STRINGS ac_ct_STRINGS OBJCOPY ac_ct_OBJCOPY LIBTOOL_TEST ac_ct_LIBTOOL_TEST LIBTOOL_PATH LIBTOOL ac_ct_LIBTOOL CS_LT_APPLE APPLE_LIBTOOL MKDIR MKDIRS INSTALL DOXYGEN DOT ac_ct_DOT PERL TTREE CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS EGREP LIBOBJS LTLIBOBJS'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
@@ -790,7 +790,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures bullet 1.1.2006.0319 to adapt to many kinds of systems.
|
\`configure' configures bullet 1.5.6 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -855,7 +855,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of bullet 1.1.2006.0319:";;
|
short | recursive ) echo "Configuration of bullet 1.5.6:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -980,7 +980,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit 0
|
test -n "$ac_init_help" && exit 0
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
bullet configure 1.1.2006.0319
|
bullet configure 1.5.6
|
||||||
generated by GNU Autoconf 2.59
|
generated by GNU Autoconf 2.59
|
||||||
|
|
||||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||||
@@ -994,7 +994,7 @@ cat >&5 <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by bullet $as_me 1.1.2006.0319, which was
|
It was created by bullet $as_me 1.5.6, which was
|
||||||
generated by GNU Autoconf 2.59. Invocation command line was
|
generated by GNU Autoconf 2.59. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3263,6 +3263,7 @@ echo "$as_me: error: Could not find a usable C++ compiler." >&2;}
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test -n "$CXX"; then
|
if test -n "$CXX"; then
|
||||||
cs_build_prop_val="\$(CMD.C++)"
|
cs_build_prop_val="\$(CMD.C++)"
|
||||||
cs_build_prop_val=`echo x$cs_build_prop_val | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
cs_build_prop_val=`echo x$cs_build_prop_val | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
@@ -3314,7 +3315,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
|||||||
cs_build_ok=no
|
cs_build_ok=no
|
||||||
|
|
||||||
|
|
||||||
for cs_build_item in `echo @-shared@@ | sed 'y% %#%'`
|
for cs_build_item in `echo @-shared $cs_cv_prog_cxx_pic@@ | sed 'y% %#%'`
|
||||||
do
|
do
|
||||||
|
|
||||||
set filler `echo "$cs_build_item" | awk 'BEGIN { FS="@" }
|
set filler `echo "$cs_build_item" | awk 'BEGIN { FS="@" }
|
||||||
@@ -4305,11 +4306,11 @@ fi
|
|||||||
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
|
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
|
||||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
||||||
if test "${ac_cv_prog_STRINGS+set}" = set; then
|
if test "${ac_cv_prog_OBJCOPY+set}" = set; then
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
else
|
else
|
||||||
if test -n "$STRINGS"; then
|
if test -n "$OBJCOPY"; then
|
||||||
ac_cv_prog_STRINGS="$STRINGS" # Let the user override the test.
|
ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -4318,7 +4319,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_STRINGS="$ac_tool_prefix$ac_prog"
|
ac_cv_prog_OBJCOPY="$ac_tool_prefix$ac_prog"
|
||||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -4327,31 +4328,31 @@ done
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
STRINGS=$ac_cv_prog_STRINGS
|
OBJCOPY=$ac_cv_prog_OBJCOPY
|
||||||
if test -n "$STRINGS"; then
|
if test -n "$OBJCOPY"; then
|
||||||
echo "$as_me:$LINENO: result: $STRINGS" >&5
|
echo "$as_me:$LINENO: result: $OBJCOPY" >&5
|
||||||
echo "${ECHO_T}$STRINGS" >&6
|
echo "${ECHO_T}$OBJCOPY" >&6
|
||||||
else
|
else
|
||||||
echo "$as_me:$LINENO: result: no" >&5
|
echo "$as_me:$LINENO: result: no" >&5
|
||||||
echo "${ECHO_T}no" >&6
|
echo "${ECHO_T}no" >&6
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -n "$STRINGS" && break
|
test -n "$OBJCOPY" && break
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if test -z "$STRINGS"; then
|
if test -z "$OBJCOPY"; then
|
||||||
ac_ct_STRINGS=$STRINGS
|
ac_ct_OBJCOPY=$OBJCOPY
|
||||||
for ac_prog in objcopy
|
for ac_prog in objcopy
|
||||||
do
|
do
|
||||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
||||||
if test "${ac_cv_prog_ac_ct_STRINGS+set}" = set; then
|
if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
else
|
else
|
||||||
if test -n "$ac_ct_STRINGS"; then
|
if test -n "$ac_ct_OBJCOPY"; then
|
||||||
ac_cv_prog_ac_ct_STRINGS="$ac_ct_STRINGS" # Let the user override the test.
|
ac_cv_prog_ac_ct_OBJCOPY="$ac_ct_OBJCOPY" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -4360,7 +4361,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_ac_ct_STRINGS="$ac_prog"
|
ac_cv_prog_ac_ct_OBJCOPY="$ac_prog"
|
||||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -4369,19 +4370,19 @@ done
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
ac_ct_STRINGS=$ac_cv_prog_ac_ct_STRINGS
|
ac_ct_OBJCOPY=$ac_cv_prog_ac_ct_OBJCOPY
|
||||||
if test -n "$ac_ct_STRINGS"; then
|
if test -n "$ac_ct_OBJCOPY"; then
|
||||||
echo "$as_me:$LINENO: result: $ac_ct_STRINGS" >&5
|
echo "$as_me:$LINENO: result: $ac_ct_OBJCOPY" >&5
|
||||||
echo "${ECHO_T}$ac_ct_STRINGS" >&6
|
echo "${ECHO_T}$ac_ct_OBJCOPY" >&6
|
||||||
else
|
else
|
||||||
echo "$as_me:$LINENO: result: no" >&5
|
echo "$as_me:$LINENO: result: no" >&5
|
||||||
echo "${ECHO_T}no" >&6
|
echo "${ECHO_T}no" >&6
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -n "$ac_ct_STRINGS" && break
|
test -n "$ac_ct_OBJCOPY" && break
|
||||||
done
|
done
|
||||||
|
|
||||||
STRINGS=$ac_ct_STRINGS
|
OBJCOPY=$ac_ct_OBJCOPY
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cs_build_prop_val="$OBJCOPY"
|
cs_build_prop_val="$OBJCOPY"
|
||||||
@@ -5241,6 +5242,180 @@ fi
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Check if C++ exceptions can be disabled.
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
echo "$as_me:$LINENO: checking how to disable C++ exceptions" >&5
|
||||||
|
echo $ECHO_N "checking how to disable C++ exceptions... $ECHO_C" >&6
|
||||||
|
if test "${cs_cv_prog_cxx_disable_exceptions_ok+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
ac_ext=cc
|
||||||
|
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||||
|
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||||
|
|
||||||
|
cs_cflags_save="$CXXFLAGS"
|
||||||
|
cs_lflags_save="$LDFLAGS"
|
||||||
|
cs_libs_save="$LIBS"
|
||||||
|
cs_build_ok=no
|
||||||
|
|
||||||
|
|
||||||
|
for cs_build_item in `echo @-fno-exceptions@@ | sed 'y% %#%'`
|
||||||
|
do
|
||||||
|
|
||||||
|
set filler `echo "$cs_build_item" | awk 'BEGIN { FS="@" }
|
||||||
|
{ for (i=1; i <= NF; ++i)
|
||||||
|
{ if ($i == "") print "filler"; else print $i } }'`
|
||||||
|
shift
|
||||||
|
if test $# -eq 0; then
|
||||||
|
cs_dummy=''
|
||||||
|
else
|
||||||
|
if test "$1" = filler; then
|
||||||
|
cs_dummy=''
|
||||||
|
else
|
||||||
|
cs_dummy=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if test $# -eq 0; then
|
||||||
|
cs_cflags_test=''
|
||||||
|
else
|
||||||
|
if test "$1" = filler; then
|
||||||
|
cs_cflags_test=''
|
||||||
|
else
|
||||||
|
cs_cflags_test=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if test $# -eq 0; then
|
||||||
|
cs_lflags_test=''
|
||||||
|
else
|
||||||
|
if test "$1" = filler; then
|
||||||
|
cs_lflags_test=''
|
||||||
|
else
|
||||||
|
cs_lflags_test=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if test $# -eq 0; then
|
||||||
|
cs_libs_test=''
|
||||||
|
else
|
||||||
|
if test "$1" = filler; then
|
||||||
|
cs_libs_test=''
|
||||||
|
else
|
||||||
|
cs_libs_test=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
cs_cflags_test=`echo $cs_cflags_test | sed 'y%#% %'`
|
||||||
|
cs_lflags_test=`echo $cs_lflags_test | sed 'y%#% %'`
|
||||||
|
cs_libs_test=`echo $cs_libs_test | sed 'y%#% %'`
|
||||||
|
|
||||||
|
CXXFLAGS="$cs_cflags_test $cs_cflags_save"
|
||||||
|
LDFLAGS="$cs_lflags_test $cs_lflags_save"
|
||||||
|
LIBS="$cs_libs_test $cs_libs_save"
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||||
|
(eval $ac_link) 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -z "$ac_cxx_werror_flag"
|
||||||
|
|| test ! -s conftest.err'
|
||||||
|
{ (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); }; } &&
|
||||||
|
{ ac_try='test -s 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
|
||||||
|
cs_build_ok=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
if test $cs_build_ok = yes; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
CXXFLAGS=$cs_cflags_save
|
||||||
|
LDFLAGS=$cs_lflags_save
|
||||||
|
LIBS=$cs_libs_save
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
|
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
|
||||||
|
|
||||||
|
if test $cs_build_ok = yes; then
|
||||||
|
cs_build_cflags=`echo x$cs_cflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
cs_build_lflags=`echo x$cs_lflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
cs_build_libs=`echo x$cs_libs_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
cs_cv_prog_cxx_disable_exceptions=`echo x$cs_build_cflags $cs_build_lflags $cs_build_libs | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
cs_cv_prog_cxx_disable_exceptions_ok="$cs_cv_prog_cxx_disable_exceptions"
|
||||||
|
else
|
||||||
|
cs_cv_prog_cxx_disable_exceptions=''
|
||||||
|
cs_cv_prog_cxx_disable_exceptions_ok=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $cs_cv_prog_cxx_disable_exceptions_ok" >&5
|
||||||
|
echo "${ECHO_T}$cs_cv_prog_cxx_disable_exceptions_ok" >&6
|
||||||
|
if test "$cs_cv_prog_cxx_disable_exceptions_ok" != no; then
|
||||||
|
cs_build_prop_val="$cs_cv_prog_cxx_disable_exceptions"
|
||||||
|
cs_build_prop_val=`echo x$cs_build_prop_val | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
if test -n "$cs_build_prop_val"; then
|
||||||
|
cs_jamconfig_text="${cs_jamconfig_text}COMPILER.C++FLAGS.EXCEPTIONS.DISABLE ?= \"$cs_build_prop_val\" ;
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cs_build_prop_val="$cs_cv_prog_cxx_disable_exceptions"
|
||||||
|
cs_build_prop_val=`echo x$cs_build_prop_val | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
|
||||||
|
if test -n "$cs_build_prop_val"; then
|
||||||
|
cs_jamconfig_text="${cs_jamconfig_text}COMPILER.C++FLAGS += \"$cs_build_prop_val\" ;
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Determine system type
|
# Determine system type
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
@@ -8855,7 +9030,7 @@ fi
|
|||||||
|
|
||||||
# Windows?
|
# Windows?
|
||||||
if test $cs_host_family = windows; then
|
if test $cs_host_family = windows; then
|
||||||
cs_win32_gl=`echo @@@-lopengl32 | sed 'y% %#%'`
|
cs_win32_glu=`echo @@@-lglu32 | sed 'y% %#%'`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -9723,7 +9898,7 @@ cs_jamconfig_text="${cs_jamconfig_text}PACKAGE_NAME ?= \"$PACKAGE_NAME\" ;
|
|||||||
"
|
"
|
||||||
cs_jamconfig_text="${cs_jamconfig_text}PACKAGE_COPYRIGHT ?= \"$PACKAGE_COPYRIGHT\" ;
|
cs_jamconfig_text="${cs_jamconfig_text}PACKAGE_COPYRIGHT ?= \"$PACKAGE_COPYRIGHT\" ;
|
||||||
"
|
"
|
||||||
for cs_veritem in 1 1 2006 0319; do
|
for cs_veritem in 1 5 6; do
|
||||||
cs_jamconfig_text="${cs_jamconfig_text}PACKAGE_VERSION_LIST += \"$cs_veritem\" ;
|
cs_jamconfig_text="${cs_jamconfig_text}PACKAGE_VERSION_LIST += \"$cs_veritem\" ;
|
||||||
"
|
"
|
||||||
done
|
done
|
||||||
@@ -10100,7 +10275,7 @@ _ASBOX
|
|||||||
} >&5
|
} >&5
|
||||||
cat >&5 <<_CSEOF
|
cat >&5 <<_CSEOF
|
||||||
|
|
||||||
This file was extended by bullet $as_me 1.1.2006.0319, which was
|
This file was extended by bullet $as_me 1.5.6, which was
|
||||||
generated by GNU Autoconf 2.59. Invocation command line was
|
generated by GNU Autoconf 2.59. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -10163,7 +10338,7 @@ _ACEOF
|
|||||||
|
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF
|
cat >>$CONFIG_STATUS <<_ACEOF
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
bullet config.status 1.1.2006.0319
|
bullet config.status 1.5.6
|
||||||
configured by $0, generated by GNU Autoconf 2.59,
|
configured by $0, generated by GNU Autoconf 2.59,
|
||||||
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
||||||
|
|
||||||
@@ -10426,6 +10601,8 @@ s,@WINDRES@,$WINDRES,;t t
|
|||||||
s,@ac_ct_WINDRES@,$ac_ct_WINDRES,;t t
|
s,@ac_ct_WINDRES@,$ac_ct_WINDRES,;t t
|
||||||
s,@STRINGS@,$STRINGS,;t t
|
s,@STRINGS@,$STRINGS,;t t
|
||||||
s,@ac_ct_STRINGS@,$ac_ct_STRINGS,;t t
|
s,@ac_ct_STRINGS@,$ac_ct_STRINGS,;t t
|
||||||
|
s,@OBJCOPY@,$OBJCOPY,;t t
|
||||||
|
s,@ac_ct_OBJCOPY@,$ac_ct_OBJCOPY,;t t
|
||||||
s,@LIBTOOL_TEST@,$LIBTOOL_TEST,;t t
|
s,@LIBTOOL_TEST@,$LIBTOOL_TEST,;t t
|
||||||
s,@ac_ct_LIBTOOL_TEST@,$ac_ct_LIBTOOL_TEST,;t t
|
s,@ac_ct_LIBTOOL_TEST@,$ac_ct_LIBTOOL_TEST,;t t
|
||||||
s,@LIBTOOL_PATH@,$LIBTOOL_PATH,;t t
|
s,@LIBTOOL_PATH@,$LIBTOOL_PATH,;t t
|
||||||
|
|||||||
2918
mk/autoconf/config.guess
vendored
2918
mk/autoconf/config.guess
vendored
File diff suppressed because it is too large
Load Diff
3098
mk/autoconf/config.sub
vendored
Normal file → Executable file
3098
mk/autoconf/config.sub
vendored
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
@@ -1,164 +1,164 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for compiling applications
|
# Rules for compiling applications
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
# Use a more sensible and typical mode for executables than Jam's default.
|
# Use a more sensible and typical mode for executables than Jam's default.
|
||||||
if "$(EXEMODE)" = "711" { EXEMODE = "+x" ; }
|
if "$(EXEMODE)" = "711" { EXEMODE = "+x" ; }
|
||||||
|
|
||||||
## Application appname : sources [ : options ]
|
## Application appname : sources [ : options ]
|
||||||
## Build an application out of sourcefiles. All sourcefiles will be passed
|
## Build an application out of sourcefiles. All sourcefiles will be passed
|
||||||
## to the Objects rule which tries to compile them into object-files. You
|
## to the Objects rule which tries to compile them into object-files. You
|
||||||
## can create rules for your own filetypes with the UserObject rule. Header
|
## can create rules for your own filetypes with the UserObject rule. Header
|
||||||
## files will just be ignored. They are only used for MSVC projectfile
|
## files will just be ignored. They are only used for MSVC projectfile
|
||||||
## generation.
|
## generation.
|
||||||
## Possible options are "noinstall" if you don't want a default install
|
## Possible options are "noinstall" if you don't want a default install
|
||||||
## target to be created and "console" if you're building a console
|
## target to be created and "console" if you're building a console
|
||||||
## application (an application without any graphical output which is
|
## application (an application without any graphical output which is
|
||||||
## intended to be used on commandline)
|
## intended to be used on commandline)
|
||||||
## Some notes: You should not add the .exe extension to the appname - jam
|
## Some notes: You should not add the .exe extension to the appname - jam
|
||||||
## will do that on win32.
|
## will do that on win32.
|
||||||
## Options:
|
## Options:
|
||||||
## console: Create a console application
|
## console: Create a console application
|
||||||
## noinstall: Do not set up a default installation targets.
|
## noinstall: Do not set up a default installation targets.
|
||||||
## independent: The target will not be made a dependency of the apps and
|
## independent: The target will not be made a dependency of the apps and
|
||||||
## all target.
|
## all target.
|
||||||
## nohelp: Do not invoke Help for this target.
|
## nohelp: Do not invoke Help for this target.
|
||||||
## notest: Do not set up unit-testing support for this target.
|
## notest: Do not set up unit-testing support for this target.
|
||||||
## nomanifest: (Win32/MSVC) Don't generate manifest for application.
|
## nomanifest: (Win32/MSVC) Don't generate manifest for application.
|
||||||
rule Application
|
rule Application
|
||||||
{
|
{
|
||||||
# check options
|
# check options
|
||||||
CheckOptions noinstall console independent nohelp notest nomanifest : $(3) : $(<) ;
|
CheckOptions noinstall console independent nohelp notest nomanifest : $(3) : $(<) ;
|
||||||
|
|
||||||
local target = [ ConstructApplicationTarget $(<) : $(3) ] ;
|
local target = [ ConstructApplicationTarget $(<) : $(3) ] ;
|
||||||
local sources = [ DoSourceGrist $(>) ] ;
|
local sources = [ DoSourceGrist $(>) ] ;
|
||||||
local objects = [ CompileObjects $(sources) ] ;
|
local objects = [ CompileObjects $(sources) ] ;
|
||||||
|
|
||||||
$(<)_TYPE = application ;
|
$(<)_TYPE = application ;
|
||||||
$(<)_OBJECTS = $(objects) ;
|
$(<)_OBJECTS = $(objects) ;
|
||||||
$(<)_SOURCES = $(sources) ;
|
$(<)_SOURCES = $(sources) ;
|
||||||
$(<)_TARGET = $(target) ;
|
$(<)_TARGET = $(target) ;
|
||||||
|
|
||||||
# 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) != $(<)
|
||||||
{
|
{
|
||||||
Depends $(<) : $(target) ;
|
Depends $(<) : $(target) ;
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# make dependency on apps target
|
# make dependency on apps target
|
||||||
if ! [ IsElem independent : $(3) ]
|
if ! [ IsElem independent : $(3) ]
|
||||||
{
|
{
|
||||||
Depends apps : $(<) ;
|
Depends apps : $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# construct Install target
|
# construct Install target
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
local install_opts ;
|
local install_opts ;
|
||||||
if [ IsElem console : $(3) ]
|
if [ IsElem console : $(3) ]
|
||||||
{
|
{
|
||||||
install_opts += console ;
|
install_opts += console ;
|
||||||
}
|
}
|
||||||
SystemInstallApplication $(target) : : $(install_opts) ;
|
SystemInstallApplication $(target) : : $(install_opts) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Link
|
# Link
|
||||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||||
SystemLinkApplication $(<) : $(objects) : $(3) ;
|
SystemLinkApplication $(<) : $(objects) : $(3) ;
|
||||||
|
|
||||||
local cleanextra ;
|
local cleanextra ;
|
||||||
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||||
{
|
{
|
||||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||||
cleanextra += $(debugfile) ;
|
cleanextra += $(debugfile) ;
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
NoCare $(debugfile) ;
|
NoCare $(debugfile) ;
|
||||||
Depends install_bin : [ DoInstall $(debugfile) : $(bindir) : $(INSTALL_DATA) ] ;
|
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
|
# create target clean rule
|
||||||
Always $(<)clean ;
|
Always $(<)clean ;
|
||||||
NotFile $(<)clean ;
|
NotFile $(<)clean ;
|
||||||
Clean $(<)clean : $(objects) $(cleanextra) ;
|
Clean $(<)clean : $(objects) $(cleanextra) ;
|
||||||
Clean clean : $(cleanextra) ;
|
Clean clean : $(cleanextra) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(3) ]
|
if ! [ IsElem nohelp : $(3) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
if ! $(desc) { desc = "$(<) application" ; }
|
if ! $(desc) { desc = "$(<) application" ; }
|
||||||
Help $(<) : "Build the $(desc)" ;
|
Help $(<) : "Build the $(desc)" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! [ IsElem notest : $(options) ]
|
if ! [ IsElem notest : $(options) ]
|
||||||
{
|
{
|
||||||
# @@@ Disabled for now; see docs/todo_jam.txt
|
# @@@ Disabled for now; see docs/todo_jam.txt
|
||||||
#UnitTest $(<) ;
|
#UnitTest $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## ShellScript scriptname : rule [ : options ]
|
## ShellScript scriptname : rule [ : options ]
|
||||||
## Build a shell script by invoking `rule', the script creation rule, which
|
## Build a shell script by invoking `rule', the script creation rule, which
|
||||||
## is passed `scriptname' and `options'.
|
## is passed `scriptname' and `options'.
|
||||||
## Options:
|
## Options:
|
||||||
## noinstall: Do not set up a default installation target.
|
## noinstall: Do not set up a default installation target.
|
||||||
## nohelp: Do not invoke Help for this target.
|
## nohelp: Do not invoke Help for this target.
|
||||||
rule ShellScript
|
rule ShellScript
|
||||||
{
|
{
|
||||||
CheckOptions noinstall nohelp : $(3) : $(<) ;
|
CheckOptions noinstall nohelp : $(3) : $(<) ;
|
||||||
|
|
||||||
Always $(<)clean ;
|
Always $(<)clean ;
|
||||||
NotFile $(<)clean ;
|
NotFile $(<)clean ;
|
||||||
Clean clean : $(<) ;
|
Clean clean : $(<) ;
|
||||||
Clean $(<)clean : $(<) ;
|
Clean $(<)clean : $(<) ;
|
||||||
Depends apps : $(<) ;
|
Depends apps : $(<) ;
|
||||||
MakeLocate $(<) : $(LOCATE.TARGETS) ;
|
MakeLocate $(<) : $(LOCATE.TARGETS) ;
|
||||||
|
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
Depends install_bin : [ DoInstall $(<) : $(bindir) : $(INSTALL_PROGRAM) ] ;
|
Depends install_bin : [ DoInstall $(<) : $(bindir) : $(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(2) $(<) : $(3) ;
|
$(2) $(<) : $(3) ;
|
||||||
|
|
||||||
MODE on $(<) = $(EXEMODE) ;
|
MODE on $(<) = $(EXEMODE) ;
|
||||||
SUBDIR on $(<) = $(SUBDIR) ;
|
SUBDIR on $(<) = $(SUBDIR) ;
|
||||||
Chmod $(<) ;
|
Chmod $(<) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(3) ]
|
if ! [ IsElem nohelp : $(3) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
if ! $(desc) { desc = "$(<) script" ; }
|
if ! $(desc) { desc = "$(<) script" ; }
|
||||||
Help $(<) : "Build the $(desc)" ;
|
Help $(<) : "Build the $(desc)" ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private part
|
# private part
|
||||||
|
|
||||||
# Construct pseudo target apps which is used instead of the pseudo target exe
|
# Construct pseudo target apps which is used instead of the pseudo target exe
|
||||||
# in Jambase
|
# in Jambase
|
||||||
Depends exe : apps ;
|
Depends exe : apps ;
|
||||||
NotFile apps ;
|
NotFile apps ;
|
||||||
Help apps : "Build all applications" ;
|
Help apps : "Build all applications" ;
|
||||||
|
|||||||
@@ -1,50 +1,50 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for handling assembler files
|
# Rules for handling assembler files
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if $(CMD.NASM)
|
if $(CMD.NASM)
|
||||||
{
|
{
|
||||||
|
|
||||||
rule NasmRule
|
rule NasmRule
|
||||||
{
|
{
|
||||||
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
||||||
Nasm $(object) : $(<) ;
|
Nasm $(object) : $(<) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType NasmRule : .asm ;
|
RegisterFileType NasmRule : .asm ;
|
||||||
|
|
||||||
rule Nasm
|
rule Nasm
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
NASM.FLAGS on $(<) += $(NASM.FLAGS) ;
|
NASM.FLAGS on $(<) += $(NASM.FLAGS) ;
|
||||||
# NASM doesn't scan for headers in current dir of the files, so add the dir of
|
# NASM doesn't scan for headers in current dir of the files, so add the dir of
|
||||||
# the file to the -I flags
|
# the file to the -I flags
|
||||||
local includeflags = [ FIncludes $(SEARCH_SOURCE)/$(<:D) $(SUBDIRHDRS) $(HDRS) ] ;
|
local includeflags = [ FIncludes $(SEARCH_SOURCE)/$(<:D) $(SUBDIRHDRS) $(HDRS) ] ;
|
||||||
# NASM requires that -I paths have a trailing slash.
|
# NASM requires that -I paths have a trailing slash.
|
||||||
INCLUDEFLAGS on $(<) = $(includeflags)$(SLASH) ;
|
INCLUDEFLAGS on $(<) = $(includeflags)$(SLASH) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
NASM.HDRPATTERN = "^[ ]*%[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
NASM.HDRPATTERN = "^[ ]*%[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
||||||
RegisterHeaderRule HeaderRule : $(NASM.HDRPATTERN) : .asm .ash ;
|
RegisterHeaderRule HeaderRule : $(NASM.HDRPATTERN) : .asm .ash ;
|
||||||
|
|
||||||
actions Nasm
|
actions Nasm
|
||||||
{
|
{
|
||||||
$(CMD.NASM) $(NASM.FLAGS) $(INCLUDEFLAGS) -o $(<) $(>)
|
$(CMD.NASM) $(NASM.FLAGS) $(INCLUDEFLAGS) -o $(<) $(>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,165 +1,165 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for flex and bison
|
# Rules for flex and bison
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if $(CMD.FLEX)
|
if $(CMD.FLEX)
|
||||||
{
|
{
|
||||||
# Some versions of Flex-generated files want to include <unistd.h> which is
|
# Some versions of Flex-generated files want to include <unistd.h> which is
|
||||||
# not normally available on Windows, so we need to protect it. We also
|
# not normally available on Windows, so we need to protect it. We also
|
||||||
# filter out CVS `Header' keywords in order to prevent CVS from thinking that
|
# filter out CVS `Header' keywords in order to prevent CVS from thinking that
|
||||||
# the file has changed simply because the Header information is different.
|
# the file has changed simply because the Header information is different.
|
||||||
FLEX.SED_SCRIPT =
|
FLEX.SED_SCRIPT =
|
||||||
"'s/\\([ ]*#[ ]*include[ ][ ]*<unistd.h>\\)/#ifndef WIN32\\
|
"'s/\\([ ]*#[ ]*include[ ][ ]*<unistd.h>\\)/#ifndef WIN32\\
|
||||||
\\1\\
|
\\1\\
|
||||||
#endif/;/\$Header:/d'" ;
|
#endif/;/\$Header:/d'" ;
|
||||||
|
|
||||||
# Compilers such as MSVC do not like #line directives. Since the generated
|
# Compilers such as MSVC do not like #line directives. Since the generated
|
||||||
# file might get stored in CVS and used by MSVC users (even if generated on
|
# file might get stored in CVS and used by MSVC users (even if generated on
|
||||||
# Unix, for instance), we want to suppress #line directives in all cases.
|
# Unix, for instance), we want to suppress #line directives in all cases.
|
||||||
FLEX.FLAGS += -L ;
|
FLEX.FLAGS += -L ;
|
||||||
|
|
||||||
rule FlexRule
|
rule FlexRule
|
||||||
{
|
{
|
||||||
local object ;
|
local object ;
|
||||||
local cfile = [ DoObjectGrist $(<:S=.c) ] ;
|
local cfile = [ DoObjectGrist $(<:S=.c) ] ;
|
||||||
|
|
||||||
MakeLocate $(cfile) : $(LOCATE_TARGET) ;
|
MakeLocate $(cfile) : $(LOCATE_TARGET) ;
|
||||||
SEARCH on $(cfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(cfile) = $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
Flex $(cfile) : $(<) ;
|
Flex $(cfile) : $(<) ;
|
||||||
object = [ CompileObjects $(cfile) : $(>) ] ;
|
object = [ CompileObjects $(cfile) : $(>) ] ;
|
||||||
|
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType FlexRule : .l ;
|
RegisterFileType FlexRule : .l ;
|
||||||
|
|
||||||
rule Flex++Rule
|
rule Flex++Rule
|
||||||
{
|
{
|
||||||
local object ;
|
local object ;
|
||||||
local cppfile = [ DoObjectGrist $(<:S=.cpp) ] ;
|
local cppfile = [ DoObjectGrist $(<:S=.cpp) ] ;
|
||||||
|
|
||||||
MakeLocate $(cppfile) : $(LOCATE_TARGET) ;
|
MakeLocate $(cppfile) : $(LOCATE_TARGET) ;
|
||||||
SEARCH on $(cppfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(cppfile) = $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
Flex $(cppfile) : $(<) ;
|
Flex $(cppfile) : $(<) ;
|
||||||
object = [ CompileObjects $(cppfile) : $(>) ] ;
|
object = [ CompileObjects $(cppfile) : $(>) ] ;
|
||||||
|
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType Flex++Rule : .ll ;
|
RegisterFileType Flex++Rule : .ll ;
|
||||||
|
|
||||||
rule Flex
|
rule Flex
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
FLEX.FLAGS on $(<) += $(FLEX.FLAGS) ;
|
FLEX.FLAGS on $(<) += $(FLEX.FLAGS) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Use -t and output redirection to avoid flex choosing undesirable names for
|
# Use -t and output redirection to avoid flex choosing undesirable names for
|
||||||
# its output files. Also apply FLEX.SED_SCRIPT.
|
# its output files. Also apply FLEX.SED_SCRIPT.
|
||||||
actions Flex
|
actions Flex
|
||||||
{
|
{
|
||||||
$(CMD.FLEX) -t $(FLEX.FLAGS) $(>) | $(SED) $(FLEX.SED_SCRIPT) > $(<)
|
$(CMD.FLEX) -t $(FLEX.FLAGS) $(>) | $(SED) $(FLEX.SED_SCRIPT) > $(<)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(CMD.BISON)
|
if $(CMD.BISON)
|
||||||
{
|
{
|
||||||
rule BisonRule
|
rule BisonRule
|
||||||
{
|
{
|
||||||
local object ;
|
local object ;
|
||||||
local cfile = [ DoObjectGrist $(<:S=.c) ] ;
|
local cfile = [ DoObjectGrist $(<:S=.c) ] ;
|
||||||
local headerfile = [ DoObjectGrist $(<:S=.h) ] ;
|
local headerfile = [ DoObjectGrist $(<:S=.h) ] ;
|
||||||
|
|
||||||
# Jam's header file scannning doesn't use grist so we have to workaround
|
# Jam's header file scannning doesn't use grist so we have to workaround
|
||||||
# this here.
|
# this here.
|
||||||
Includes $(headerfile:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) : $(headerfile) ;
|
Includes $(headerfile:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) : $(headerfile) ;
|
||||||
|
|
||||||
MakeLocate $(cfile) $(headerfile) : $(LOCATE_TARGET) ;
|
MakeLocate $(cfile) $(headerfile) : $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
BISON.FLAGS on $(cfile) =
|
BISON.FLAGS on $(cfile) =
|
||||||
[ on [ DoSourceGrist $(<:S=.c) ] GetVar BISON.FLAGS ] ;
|
[ on [ DoSourceGrist $(<:S=.c) ] GetVar BISON.FLAGS ] ;
|
||||||
Bison $(cfile) : $(<) ;
|
Bison $(cfile) : $(<) ;
|
||||||
# Work around for jam warning about independant target when we put both
|
# Work around for jam warning about independant target when we put both
|
||||||
# headerfile and cppfile in the bison line...
|
# headerfile and cppfile in the bison line...
|
||||||
Includes $(cppfile) : $(headerfile) ;
|
Includes $(cppfile) : $(headerfile) ;
|
||||||
object = [ CompileObjects $(cfile) : $(>) ] ;
|
object = [ CompileObjects $(cfile) : $(>) ] ;
|
||||||
SEARCH on $(cfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(cfile) = $(LOCATE_TARGET) ;
|
||||||
SEARCH on $(headerfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(headerfile) = $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType BisonRule : .y ;
|
RegisterFileType BisonRule : .y ;
|
||||||
|
|
||||||
rule Bison++Rule
|
rule Bison++Rule
|
||||||
{
|
{
|
||||||
local object ;
|
local object ;
|
||||||
local cppfile = [ DoObjectGrist $(<:S=.cpp) ] ;
|
local cppfile = [ DoObjectGrist $(<:S=.cpp) ] ;
|
||||||
local headerfile = [ DoObjectGrist $(<:S=.hpp) ] ;
|
local headerfile = [ DoObjectGrist $(<:S=.hpp) ] ;
|
||||||
|
|
||||||
# Jam's header file scannning doesn't use grist so we have to workaround
|
# Jam's header file scannning doesn't use grist so we have to workaround
|
||||||
# this here.
|
# this here.
|
||||||
Includes $(headerfile:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) : $(headerfile) ;
|
Includes $(headerfile:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) : $(headerfile) ;
|
||||||
|
|
||||||
MakeLocate $(cppfile) : $(LOCATE_TARGET) ;
|
MakeLocate $(cppfile) : $(LOCATE_TARGET) ;
|
||||||
MakeLocate $(headerfile) : $(LOCATE_TARGET) ;
|
MakeLocate $(headerfile) : $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
BISON.FLAGS on $(cppfile) =
|
BISON.FLAGS on $(cppfile) =
|
||||||
[ on [ DoSourceGrist $(<:S=.cpp) ] GetVar BISON.FLAGS ] ;
|
[ on [ DoSourceGrist $(<:S=.cpp) ] GetVar BISON.FLAGS ] ;
|
||||||
Bison $(cppfile) : $(<) ;
|
Bison $(cppfile) : $(<) ;
|
||||||
# Work around for jam warning about independant target when we put both
|
# Work around for jam warning about independant target when we put both
|
||||||
# headerfile and cppfile in the bison line...
|
# headerfile and cppfile in the bison line...
|
||||||
Includes $(cppfile) : $(headerfile) ;
|
Includes $(cppfile) : $(headerfile) ;
|
||||||
object = [ CompileObjects $(cppfile) : $(>) ] ;
|
object = [ CompileObjects $(cppfile) : $(>) ] ;
|
||||||
SEARCH on $(cppfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(cppfile) = $(LOCATE_TARGET) ;
|
||||||
SEARCH on $(headerfile) = $(LOCATE_TARGET) ;
|
SEARCH on $(headerfile) = $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType Bison++Rule : .yy ;
|
RegisterFileType Bison++Rule : .yy ;
|
||||||
|
|
||||||
rule Bison
|
rule Bison
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
BISON.FLAGS on $(<) += $(BISON.FLAGS) ;
|
BISON.FLAGS on $(<) += $(BISON.FLAGS) ;
|
||||||
}
|
}
|
||||||
rule BisonFlags
|
rule BisonFlags
|
||||||
{
|
{
|
||||||
local target ;
|
local target ;
|
||||||
|
|
||||||
if $(<:S) = .yy
|
if $(<:S) = .yy
|
||||||
{
|
{
|
||||||
target = [ DoSourceGrist $(<:S=.cpp) $(<:S=.hpp) ] ;
|
target = [ DoSourceGrist $(<:S=.cpp) $(<:S=.hpp) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
target = [ DoSourceGrist $(<:S=.c) $(<:S=.h) ] ;
|
target = [ DoSourceGrist $(<:S=.c) $(<:S=.h) ] ;
|
||||||
}
|
}
|
||||||
BISON.FLAGS on $(target) += $(>) ;
|
BISON.FLAGS on $(target) += $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Compilers such as MSVC do not like #line directives. Since the generated
|
# Compilers such as MSVC do not like #line directives. Since the generated
|
||||||
# file might get stored in CVS and used by MSVC users (even if generated on
|
# file might get stored in CVS and used by MSVC users (even if generated on
|
||||||
# Unix, for instance), we want to suppress #line directives in all cases.
|
# Unix, for instance), we want to suppress #line directives in all cases.
|
||||||
BISON.FLAGS += --no-lines ;
|
BISON.FLAGS += --no-lines ;
|
||||||
|
|
||||||
actions Bison
|
actions Bison
|
||||||
{
|
{
|
||||||
$(CMD.BISON) -d $(BISON.FLAGS) -o $(<[1]) $(>)
|
$(CMD.BISON) -d $(BISON.FLAGS) -o $(<[1]) $(>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
166
mk/jam/build.jam
166
mk/jam/build.jam
@@ -1,83 +1,83 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Main rules file - Includes all important rulefiles in correct order
|
# Main rules file - Includes all important rulefiles in correct order
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
# Enable if you want debug messages.
|
# Enable if you want debug messages.
|
||||||
JAM_DEBUG ?= 1 ;
|
JAM_DEBUG ?= 1 ;
|
||||||
|
|
||||||
jamrulesdir = $(TOP)/mk/jam ;
|
jamrulesdir = $(TOP)/mk/jam ;
|
||||||
|
|
||||||
# Utility and compatibility rules used by all other scripts.
|
# Utility and compatibility rules used by all other scripts.
|
||||||
include $(jamrulesdir)/jamcompatibility.jam ;
|
include $(jamrulesdir)/jamcompatibility.jam ;
|
||||||
include $(jamrulesdir)/subdir.jam ;
|
include $(jamrulesdir)/subdir.jam ;
|
||||||
include $(jamrulesdir)/property.jam ;
|
include $(jamrulesdir)/property.jam ;
|
||||||
|
|
||||||
# This needs to be included before _and_ after all other includes (except the
|
# This needs to be included before _and_ after all other includes (except the
|
||||||
# super low-level utility files above) since it optionally overrides built-in
|
# super low-level utility files above) since it optionally overrides built-in
|
||||||
# rules to glean information about targets being defined.
|
# rules to glean information about targets being defined.
|
||||||
include $(jamrulesdir)/dump.jam ;
|
include $(jamrulesdir)/dump.jam ;
|
||||||
|
|
||||||
include $(jamrulesdir)/options.jam ;
|
include $(jamrulesdir)/options.jam ;
|
||||||
include $(jamrulesdir)/variant.jam ;
|
include $(jamrulesdir)/variant.jam ;
|
||||||
include $(jamrulesdir)/resource.jam ;
|
include $(jamrulesdir)/resource.jam ;
|
||||||
|
|
||||||
include $(jamrulesdir)/helper.jam ;
|
include $(jamrulesdir)/helper.jam ;
|
||||||
include $(jamrulesdir)/help.jam ;
|
include $(jamrulesdir)/help.jam ;
|
||||||
include $(jamrulesdir)/groups.jam ;
|
include $(jamrulesdir)/groups.jam ;
|
||||||
include $(jamrulesdir)/install.jam ;
|
include $(jamrulesdir)/install.jam ;
|
||||||
include $(jamrulesdir)/clean.jam ;
|
include $(jamrulesdir)/clean.jam ;
|
||||||
|
|
||||||
include $(jamrulesdir)/objects.jam ;
|
include $(jamrulesdir)/objects.jam ;
|
||||||
include $(jamrulesdir)/compiler.jam ;
|
include $(jamrulesdir)/compiler.jam ;
|
||||||
include $(jamrulesdir)/objectivec.jam ;
|
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)/strip.jam ;
|
||||||
|
|
||||||
include $(jamrulesdir)/flags.jam ;
|
include $(jamrulesdir)/flags.jam ;
|
||||||
include $(jamrulesdir)/library.jam ;
|
include $(jamrulesdir)/library.jam ;
|
||||||
include $(jamrulesdir)/static.jam ;
|
include $(jamrulesdir)/static.jam ;
|
||||||
include $(jamrulesdir)/application.jam ;
|
include $(jamrulesdir)/application.jam ;
|
||||||
include $(jamrulesdir)/plugin.jam ;
|
include $(jamrulesdir)/plugin.jam ;
|
||||||
include $(jamrulesdir)/docs.jam ;
|
include $(jamrulesdir)/docs.jam ;
|
||||||
include $(jamrulesdir)/unittest.jam ;
|
include $(jamrulesdir)/unittest.jam ;
|
||||||
|
|
||||||
# Include OS specific rules
|
# Include OS specific rules
|
||||||
switch $(TARGET.OS)
|
switch $(TARGET.OS)
|
||||||
{
|
{
|
||||||
case WIN32 :
|
case WIN32 :
|
||||||
include $(jamrulesdir)/win32.jam ;
|
include $(jamrulesdir)/win32.jam ;
|
||||||
case MACOS_X :
|
case MACOS_X :
|
||||||
include $(jamrulesdir)/macosx.jam ;
|
include $(jamrulesdir)/macosx.jam ;
|
||||||
case UNIX :
|
case UNIX :
|
||||||
include $(jamrulesdir)/unix.jam ;
|
include $(jamrulesdir)/unix.jam ;
|
||||||
case * :
|
case * :
|
||||||
echo "WARNING: TARGET.OS not defined. Using unix" ;
|
echo "WARNING: TARGET.OS not defined. Using unix" ;
|
||||||
include $(jamrulesdir)/unix.jam ;
|
include $(jamrulesdir)/unix.jam ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# This needs to be included after all others because it overrides some of the
|
# This needs to be included after all others because it overrides some of the
|
||||||
# earlier defined rules when enabled. It even overrides Win32 rules, so it
|
# earlier defined rules when enabled. It even overrides Win32 rules, so it
|
||||||
# needs to be after platform-specific includes, as well.
|
# needs to be after platform-specific includes, as well.
|
||||||
include $(jamrulesdir)/msvcgen.jam ;
|
include $(jamrulesdir)/msvcgen.jam ;
|
||||||
|
|
||||||
# This needs to included be before _and_ after all other includes since it
|
# This needs to included be before _and_ after all other includes since it
|
||||||
# optionally overrides rules defined earlier.
|
# optionally overrides rules defined earlier.
|
||||||
include $(jamrulesdir)/dump.jam ;
|
include $(jamrulesdir)/dump.jam ;
|
||||||
|
|||||||
@@ -1,37 +1,37 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for cleaning build detritus.
|
# Rules for cleaning build detritus.
|
||||||
# Copyright (C)2003 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2003 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
# CleanDir <tag> : <dir> ...
|
# CleanDir <tag> : <dir> ...
|
||||||
# Forcibly delete a set of directories, even if they are not empty.
|
# Forcibly delete a set of directories, even if they are not empty.
|
||||||
# Tag is one of the standard targets used with the "Clean" rule, such as
|
# Tag is one of the standard targets used with the "Clean" rule, such as
|
||||||
# "clean" or "distclean".
|
# "clean" or "distclean".
|
||||||
rule CleanDir
|
rule CleanDir
|
||||||
{
|
{
|
||||||
Always $(<) ;
|
Always $(<) ;
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
NoCare $(>) ;
|
NoCare $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions piecemeal together existing CleanDir
|
actions piecemeal together existing CleanDir
|
||||||
{
|
{
|
||||||
$(DELTREE) $(>)
|
$(DELTREE) $(>)
|
||||||
}
|
}
|
||||||
|
|
||||||
Help clean : "Remove all built targets from project" ;
|
Help clean : "Remove all built targets from project" ;
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for C and C++ files
|
# Rules for C and C++ files
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if $(CMD.CC)
|
if $(CMD.CC)
|
||||||
{
|
{
|
||||||
|
|
||||||
rule CcRule
|
rule CcRule
|
||||||
{
|
{
|
||||||
local object =
|
local object =
|
||||||
[ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
[ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
||||||
Cc $(object) : $(<) ;
|
Cc $(object) : $(<) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType CcRule : .c ;
|
RegisterFileType CcRule : .c ;
|
||||||
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .c ;
|
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .c ;
|
||||||
|
|
||||||
rule Cc
|
rule Cc
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
|
|
||||||
CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;
|
CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;
|
||||||
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
||||||
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions Cc
|
actions Cc
|
||||||
{
|
{
|
||||||
$(CMD.CC) -c -o $(<) $(CCHDRS) $(CCFLAGS) $(CCDEFS) $(>)
|
$(CMD.CC) -c -o $(<) $(CCHDRS) $(CCFLAGS) $(CCDEFS) $(>)
|
||||||
}
|
}
|
||||||
} # end if $(CMD.CC)
|
} # end if $(CMD.CC)
|
||||||
|
|
||||||
if $(CMD.C++)
|
if $(CMD.C++)
|
||||||
{
|
{
|
||||||
|
|
||||||
rule C++Rule
|
rule C++Rule
|
||||||
{
|
{
|
||||||
local object =
|
local object =
|
||||||
[ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
[ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
||||||
C++ $(object) : $(<) ;
|
C++ $(object) : $(<) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType C++Rule : .cpp .cc .c++ ;
|
RegisterFileType C++Rule : .cpp .cc .c++ ;
|
||||||
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .cpp .cc .c++ ;
|
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .cpp .cc .c++ ;
|
||||||
|
|
||||||
rule C++
|
rule C++
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
|
|
||||||
C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;
|
C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;
|
||||||
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
||||||
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions C++
|
actions C++
|
||||||
{
|
{
|
||||||
$(CMD.C++) -c -o $(<) $(CCHDRS) $(C++FLAGS) $(CCDEFS) $(>)
|
$(CMD.C++) -c -o $(<) $(CCHDRS) $(C++FLAGS) $(CCDEFS) $(>)
|
||||||
}
|
}
|
||||||
} # end if $(CMD:C++)
|
} # end if $(CMD:C++)
|
||||||
|
|
||||||
|
|||||||
1376
mk/jam/docs.jam
1376
mk/jam/docs.jam
File diff suppressed because it is too large
Load Diff
256
mk/jam/dump.jam
256
mk/jam/dump.jam
@@ -1,128 +1,128 @@
|
|||||||
#==============================================================================
|
#==============================================================================
|
||||||
# Utility functions for collecting information about the Jam environment.
|
# Utility functions for collecting information about the Jam environment.
|
||||||
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# When the target "dumptargets" is invoked, dump the top-level, user-visible
|
# When the target "dumptargets" is invoked, dump the top-level, user-visible
|
||||||
# build targets as a whitespace-delimited list to the file named by the Jam
|
# build targets as a whitespace-delimited list to the file named by the Jam
|
||||||
# variable DUMPTARGETS_FILE. Example:
|
# variable DUMPTARGETS_FILE. Example:
|
||||||
#
|
#
|
||||||
# jam -sDUMPTARGETS_FILE=targets.txt dumptargets
|
# jam -sDUMPTARGETS_FILE=targets.txt dumptargets
|
||||||
#
|
#
|
||||||
# This output might be useful, for instance, when composing documentation (via
|
# This output might be useful, for instance, when composing documentation (via
|
||||||
# some automated mechanism) which lists the targets visible to the user.
|
# some automated mechanism) which lists the targets visible to the user.
|
||||||
#
|
#
|
||||||
# IMPLEMENTATION NOTES
|
# IMPLEMENTATION NOTES
|
||||||
#
|
#
|
||||||
# The emitted target names are collected from several locations:
|
# The emitted target names are collected from several locations:
|
||||||
#
|
#
|
||||||
# - All single-word arguments to NotFile composed of ._- and alphanumerics.
|
# - All single-word arguments to NotFile composed of ._- and alphanumerics.
|
||||||
#
|
#
|
||||||
# - Targets defined by the Application rule. Unlike other rules (Plugin,
|
# - Targets defined by the Application rule. Unlike other rules (Plugin,
|
||||||
# Library, etc.) which compose a top-level pseudo-target using NotFile
|
# Library, etc.) which compose a top-level pseudo-target using NotFile
|
||||||
# (which is thus caught by the above case), on Unix, the Application rule
|
# (which is thus caught by the above case), on Unix, the Application rule
|
||||||
# does not invoke NotFile since the top-level target has the same name as
|
# does not invoke NotFile since the top-level target has the same name as
|
||||||
# the generated executable.
|
# the generated executable.
|
||||||
#
|
#
|
||||||
# - Targets defined by the ShellScript rule, since the emitted shell scripts
|
# - Targets defined by the ShellScript rule, since the emitted shell scripts
|
||||||
# have the same name as the top-level target.
|
# have the same name as the top-level target.
|
||||||
#
|
#
|
||||||
# Collection occurs in two phases. This file must be included by build.jam
|
# Collection occurs in two phases. This file must be included by build.jam
|
||||||
# before any other utility *.jam files are included, and it must also be
|
# before any other utility *.jam files are included, and it must also be
|
||||||
# included after all other utility *.jam files are included. In the first
|
# included after all other utility *.jam files are included. In the first
|
||||||
# phase, the NotFile rule is re-defined so that we can catch pseudo-targets
|
# phase, the NotFile rule is re-defined so that we can catch pseudo-targets
|
||||||
# created by the other utility *.jam files (we must re-define NotFile before
|
# created by the other utility *.jam files (we must re-define NotFile before
|
||||||
# they are included), as well as any NotFile pseudo-targets created by Jamfiles
|
# they are included), as well as any NotFile pseudo-targets created by Jamfiles
|
||||||
# throughout the project. In the second phase, the Application and ShellScript
|
# throughout the project. In the second phase, the Application and ShellScript
|
||||||
# rules are re-defined (we must do so after application.jam has defined the
|
# rules are re-defined (we must do so after application.jam has defined the
|
||||||
# implementations which we override). These overrides allow us to catch
|
# implementations which we override). These overrides allow us to catch
|
||||||
# application and shell-script targets which project-wide Jamfiles define.
|
# application and shell-script targets which project-wide Jamfiles define.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
if $(DUMPTARGETS_FILE)
|
if $(DUMPTARGETS_FILE)
|
||||||
{
|
{
|
||||||
# Jam does not support arithmetic, so we fake it with Roman numerals.
|
# Jam does not support arithmetic, so we fake it with Roman numerals.
|
||||||
DUMPTARGETS_PASS ?= "" ;
|
DUMPTARGETS_PASS ?= "" ;
|
||||||
DUMPTARGETS_PASS = "$(DUMPTARGETS_PASS)I" ;
|
DUMPTARGETS_PASS = "$(DUMPTARGETS_PASS)I" ;
|
||||||
|
|
||||||
switch $(DUMPTARGETS_PASS)
|
switch $(DUMPTARGETS_PASS)
|
||||||
{
|
{
|
||||||
case I :
|
case I :
|
||||||
|
|
||||||
actions InitPseudoTargets
|
actions InitPseudoTargets
|
||||||
{
|
{
|
||||||
$(RM) $(<)
|
$(RM) $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
rule DumpPseudoTargets
|
rule DumpPseudoTargets
|
||||||
{
|
{
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
Always $(<) ;
|
Always $(<) ;
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
Always $(>) ;
|
Always $(>) ;
|
||||||
InitPseudoTargets $(>) ;
|
InitPseudoTargets $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
DumpPseudoTargets dumptargets : "$(DUMPTARGETS_FILE)" ;
|
DumpPseudoTargets dumptargets : "$(DUMPTARGETS_FILE)" ;
|
||||||
|
|
||||||
actions together piecemeal EmitPseudoTarget
|
actions together piecemeal EmitPseudoTarget
|
||||||
{
|
{
|
||||||
echo "$(>)" >> $(<)
|
echo "$(>)" >> $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
rule PossiblePseudoTarget
|
rule PossiblePseudoTarget
|
||||||
{
|
{
|
||||||
# NoCare and Includes are not actually required; they are used here merely to
|
# NoCare and Includes are not actually required; they are used here merely to
|
||||||
# avoid Jam's "using independent target" warning. Note, however, that Jam
|
# avoid Jam's "using independent target" warning. Note, however, that Jam
|
||||||
# 2.4 and BoostJam try building the target despite the fact that we NoCare
|
# 2.4 and BoostJam try building the target despite the fact that we NoCare
|
||||||
# about it. (Presumably this is because the targets have updating actions,
|
# about it. (Presumably this is because the targets have updating actions,
|
||||||
# and those actions override the NoCare.) Consequently, we have to put up
|
# and those actions override the NoCare.) Consequently, we have to put up
|
||||||
# with the "using independent target" warnings for these older Jam versions.
|
# with the "using independent target" warnings for these older Jam versions.
|
||||||
NoCare $(<) ;
|
NoCare $(<) ;
|
||||||
if $(JAMVERSION) != 2.4 { Includes dumptargets : $(<) ; }
|
if $(JAMVERSION) != 2.4 { Includes dumptargets : $(<) ; }
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
local s = [ Match ^([A-Za-z0-9_.-]+)$ : $(i) ] ;
|
local s = [ Match ^([A-Za-z0-9_.-]+)$ : $(i) ] ;
|
||||||
if $(s)
|
if $(s)
|
||||||
{
|
{
|
||||||
EmitPseudoTarget "$(DUMPTARGETS_FILE)" : $(i) ;
|
EmitPseudoTarget "$(DUMPTARGETS_FILE)" : $(i) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rule NotFile
|
rule NotFile
|
||||||
{
|
{
|
||||||
PossiblePseudoTarget $(<) ;
|
PossiblePseudoTarget $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
case II :
|
case II :
|
||||||
|
|
||||||
rule Application
|
rule Application
|
||||||
{
|
{
|
||||||
PossiblePseudoTarget $(<) $(<)clean ;
|
PossiblePseudoTarget $(<) $(<)clean ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule ShellScript
|
rule ShellScript
|
||||||
{
|
{
|
||||||
PossiblePseudoTarget $(<) $(<)clean ;
|
PossiblePseudoTarget $(<) $(<)clean ;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
344
mk/jam/flags.jam
344
mk/jam/flags.jam
@@ -1,172 +1,172 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for specifying compiler and linker flags
|
# Rules for specifying compiler and linker flags
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
## LinkWith target : libs
|
## LinkWith target : libs
|
||||||
## Link an application with libraries. The specified libraries should have
|
## Link an application with libraries. The specified libraries should have
|
||||||
## build rules in the same project. For external libraries use the
|
## build rules in the same project. For external libraries use the
|
||||||
## ExternalLibs rule. Specify the library names without any extensions or
|
## ExternalLibs rule. Specify the library names without any extensions or
|
||||||
## the leading "lib".
|
## the leading "lib".
|
||||||
rule LinkWith
|
rule LinkWith
|
||||||
{
|
{
|
||||||
local rawlibs = [ ResolveLibs $(>) ] ;
|
local rawlibs = [ ResolveLibs $(>) ] ;
|
||||||
|
|
||||||
if ( $($(<)_TYPE) = library ) && ( "$($(<)_SHARED)" = "" )
|
if ( $($(<)_TYPE) = library ) && ( "$($(<)_SHARED)" = "" )
|
||||||
{
|
{
|
||||||
# LibDepends for shared libs invokes LinkWith, so prevent recursion
|
# LibDepends for shared libs invokes LinkWith, so prevent recursion
|
||||||
LibDepends $(<) : $(rawlibs) ;
|
LibDepends $(<) : $(rawlibs) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local i libs ;
|
local i libs ;
|
||||||
for i in $(rawlibs)
|
for i in $(rawlibs)
|
||||||
{
|
{
|
||||||
libs += [ ConstructLibraryLinkTarget $(i) : $($(i)_SHARED) ] ;
|
libs += [ ConstructLibraryLinkTarget $(i) : $($(i)_SHARED) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
Depends $($(<)_TARGET) : $(libs) ;
|
Depends $($(<)_TARGET) : $(libs) ;
|
||||||
NEEDLIBS on $($(<)_TARGET) += $(libs) ;
|
NEEDLIBS on $($(<)_TARGET) += $(libs) ;
|
||||||
$(<).NEEDLIBS += $(rawlibs) ;
|
$(<).NEEDLIBS += $(rawlibs) ;
|
||||||
|
|
||||||
LFlags $(<) : $($($(rawlibs).EXTERNALLIBS).LFLAGS) ;
|
LFlags $(<) : $($($(rawlibs).EXTERNALLIBS).LFLAGS) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## CFlags target : flags [ : options ]
|
## CFlags target : flags [ : options ]
|
||||||
## Sets cflags on all sourcefiles of a library, plugin or application target
|
## Sets cflags on all sourcefiles of a library, plugin or application target
|
||||||
## This rule affects c++ and c compiler flags.
|
## This rule affects c++ and c compiler flags.
|
||||||
rule CFlags
|
rule CFlags
|
||||||
{
|
{
|
||||||
CheckOptions nostatic : $(3) : $(<) ;
|
CheckOptions nostatic : $(3) : $(<) ;
|
||||||
|
|
||||||
CCFLAGS on $($(<)_OBJECTS) += $(>) ;
|
CCFLAGS on $($(<)_OBJECTS) += $(>) ;
|
||||||
C++FLAGS on $($(<)_OBJECTS) += $(>) ;
|
C++FLAGS on $($(<)_OBJECTS) += $(>) ;
|
||||||
|
|
||||||
UnitTestCFlags $(<) : $(>) : $(3) ;
|
UnitTestCFlags $(<) : $(>) : $(3) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## MergeLFlags flags1 : flags2
|
## MergeLFlags flags1 : flags2
|
||||||
## Merge two arrays of linker flags. Removes duplicate entries, however,
|
## Merge two arrays of linker flags. Removes duplicate entries, however,
|
||||||
## ensures that the correct relative right-to-left order of both flag arrays
|
## ensures that the correct relative right-to-left order of both flag arrays
|
||||||
## is kept.
|
## is kept.
|
||||||
rule MergeLFlags
|
rule MergeLFlags
|
||||||
{
|
{
|
||||||
local result = ;
|
local result = ;
|
||||||
local libs2 = $(2) ;
|
local libs2 = $(2) ;
|
||||||
for l in $(1)
|
for l in $(1)
|
||||||
{
|
{
|
||||||
if [ IsElem $(l) : $(libs2) ]
|
if [ IsElem $(l) : $(libs2) ]
|
||||||
{
|
{
|
||||||
# If a flag from set 1 is in set 2, add all flags from start of set 2
|
# If a flag from set 1 is in set 2, add all flags from start of set 2
|
||||||
# to the occurance of the flag to result.
|
# to the occurance of the flag to result.
|
||||||
while "$(libs2[1])" != "" && $(libs2[1]) != $(l)
|
while "$(libs2[1])" != "" && $(libs2[1]) != $(l)
|
||||||
{
|
{
|
||||||
result += $(libs2[1]) ;
|
result += $(libs2[1]) ;
|
||||||
libs2 = $(libs2[2-]) ;
|
libs2 = $(libs2[2-]) ;
|
||||||
}
|
}
|
||||||
result += $(libs2[1]) ;
|
result += $(libs2[1]) ;
|
||||||
libs2 = $(libs2[2-]) ;
|
libs2 = $(libs2[2-]) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# Just add the flag.
|
# Just add the flag.
|
||||||
result += $(l) ;
|
result += $(l) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result += $(libs2) ;
|
result += $(libs2) ;
|
||||||
return $(result) ;
|
return $(result) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## LFlags target : flags [ : options ]
|
## LFlags target : flags [ : options ]
|
||||||
## Sets linker flags for a library, plugin or application target
|
## Sets linker flags for a library, plugin or application target
|
||||||
rule LFlags
|
rule LFlags
|
||||||
{
|
{
|
||||||
CheckOptions nostatic : $(3) : $(<) ;
|
CheckOptions nostatic : $(3) : $(<) ;
|
||||||
|
|
||||||
NotFile $(>) ;
|
NotFile $(>) ;
|
||||||
NEEDLIBS on $($(<)_TARGET) += $(>) ;
|
NEEDLIBS on $($(<)_TARGET) += $(>) ;
|
||||||
$(<).LFLAGS += $(>) ;
|
$(<).LFLAGS += $(>) ;
|
||||||
|
|
||||||
UnitTestLFlags $(<) : $(>) : $(3) ;
|
UnitTestLFlags $(<) : $(>) : $(3) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## ExternalLibs target : identifiers
|
## ExternalLibs target : identifiers
|
||||||
## Specify a dependency between 'target' and the external libraries
|
## Specify a dependency between 'target' and the external libraries
|
||||||
## indicated by 'identifiers'. If 'target' is an application or plugin,
|
## indicated by 'identifiers'. If 'target' is an application or plugin,
|
||||||
## then it is linked against the indicated external libraries. If 'target'
|
## then it is linked against the indicated external libraries. If 'target'
|
||||||
## is a library, then its dependency upon 'identifiers' is noted, and
|
## is a library, then its dependency upon 'identifiers' is noted, and
|
||||||
## applications or plugins which link against 'target' will also be linked
|
## applications or plugins which link against 'target' will also be linked
|
||||||
## against the libraries indicated by 'identifiers'. 'identifiers' is a
|
## against the libraries indicated by 'identifiers'. 'identifiers' is a
|
||||||
## list of base names of a set of variables which provide build tool
|
## list of base names of a set of variables which provide build tool
|
||||||
## information about each external library. In particular, assuming that
|
## information about each external library. In particular, assuming that
|
||||||
## `ident' is one element of `identifiers', the value of $(ident).CFLAGS
|
## `ident' is one element of `identifiers', the value of $(ident).CFLAGS
|
||||||
## should provide compiler flags needed for the external library indicated
|
## should provide compiler flags needed for the external library indicated
|
||||||
## by 'ident'; and $(ident).LFLAGS should provide linker flags for the
|
## by 'ident'; and $(ident).LFLAGS should provide linker flags for the
|
||||||
## library.
|
## library.
|
||||||
rule ExternalLibs
|
rule ExternalLibs
|
||||||
{
|
{
|
||||||
local extlib ;
|
local extlib ;
|
||||||
for extlib in $(>)
|
for extlib in $(>)
|
||||||
{
|
{
|
||||||
CFlags $(<) : $($(extlib).CFLAGS) ;
|
CFlags $(<) : $($(extlib).CFLAGS) ;
|
||||||
LFlags $(<) : $($(extlib).LFLAGS) ;
|
LFlags $(<) : $($(extlib).LFLAGS) ;
|
||||||
|
|
||||||
$(<).EXTERNALLIBS += $(extlib) ;
|
$(<).EXTERNALLIBS += $(extlib) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## ExtraObjects target : objectfiles [ : options ]
|
## ExtraObjects target : objectfiles [ : options ]
|
||||||
## Link additional object files with a target.
|
## Link additional object files with a target.
|
||||||
## Options:
|
## Options:
|
||||||
## inheritcflags: The mentioned object files will inherit compiler flags
|
## inheritcflags: The mentioned object files will inherit compiler flags
|
||||||
## assigned to target's normal object files (in addition to any flags
|
## assigned to target's normal object files (in addition to any flags
|
||||||
## already set manually).
|
## already set manually).
|
||||||
rule ExtraObjects
|
rule ExtraObjects
|
||||||
{
|
{
|
||||||
CheckOptions inheritcflags : $(3) : $(<) ;
|
CheckOptions inheritcflags : $(3) : $(<) ;
|
||||||
if [ IsElem inheritcflags : $(3) ]
|
if [ IsElem inheritcflags : $(3) ]
|
||||||
{
|
{
|
||||||
$(<)_OBJECTS += $(>) ;
|
$(<)_OBJECTS += $(>) ;
|
||||||
}
|
}
|
||||||
EXTRAOBJECTS on $($(<)_TARGET) += $(>) ;
|
EXTRAOBJECTS on $($(<)_TARGET) += $(>) ;
|
||||||
Depends $($(<)_TARGET) : $(>) ;
|
Depends $($(<)_TARGET) : $(>) ;
|
||||||
Clean $(<)clean : $(>) ;
|
Clean $(<)clean : $(>) ;
|
||||||
Clean clean : $(>) ;
|
Clean clean : $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private part
|
# private part
|
||||||
|
|
||||||
## ResolveLibs libs
|
## ResolveLibs libs
|
||||||
## Given a list of libraries, augment the list by adding other libraries
|
## Given a list of libraries, augment the list by adding other libraries
|
||||||
## upon which the given libraries depend. Dependencies between libraries
|
## upon which the given libraries depend. Dependencies between libraries
|
||||||
## are specified via LibDepends (or LinkWith when the target is a library).
|
## are specified via LibDepends (or LinkWith when the target is a library).
|
||||||
## The returned list is ordered such that it is suitable for Unix linkers
|
## The returned list is ordered such that it is suitable for Unix linkers
|
||||||
## which are sensitive to the order of libraries in the invocation
|
## which are sensitive to the order of libraries in the invocation
|
||||||
## statement.
|
## statement.
|
||||||
rule ResolveLibs
|
rule ResolveLibs
|
||||||
{
|
{
|
||||||
local i libs ;
|
local i libs ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
libs += $(i) $($(i)_depends) ;
|
libs += $(i) $($(i)_depends) ;
|
||||||
}
|
}
|
||||||
# We must eliminate the duplicates in reverse order in order to ensure that
|
# We must eliminate the duplicates in reverse order in order to ensure that
|
||||||
# we do not destroy the overall library ordering since Unix linkers are
|
# we do not destroy the overall library ordering since Unix linkers are
|
||||||
# order-sensitive.
|
# order-sensitive.
|
||||||
return [ Reverse [ RemoveDups [ Reverse $(libs) ] ] ] ;
|
return [ Reverse [ RemoveDups [ Reverse $(libs) ] ] ] ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,61 +1,61 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for building compile groups
|
# Rules for building compile groups
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
COMPILE_GROUPS = ;
|
COMPILE_GROUPS = ;
|
||||||
|
|
||||||
## CompileGroups target : groups
|
## CompileGroups target : groups
|
||||||
## Adds a target to a list of compile groups. A compile group is a virtual
|
## Adds a target to a list of compile groups. A compile group is a virtual
|
||||||
## target which combines several targets. This is useful for things like a
|
## target which combines several targets. This is useful for things like a
|
||||||
## creating a target which compiles all image loaders, all renderers, etc.
|
## creating a target which compiles all image loaders, all renderers, etc.
|
||||||
rule CompileGroups
|
rule CompileGroups
|
||||||
{
|
{
|
||||||
local _i ;
|
local _i ;
|
||||||
|
|
||||||
for _i in $(>)
|
for _i in $(>)
|
||||||
{
|
{
|
||||||
Depends $(_i) : $(<) ;
|
Depends $(_i) : $(<) ;
|
||||||
Depends $(_i)clean : $(<)clean ;
|
Depends $(_i)clean : $(<)clean ;
|
||||||
|
|
||||||
if ! [ IsElem $(_i) : $(COMPILE_GROUPS) ]
|
if ! [ IsElem $(_i) : $(COMPILE_GROUPS) ]
|
||||||
{
|
{
|
||||||
NotFile $(_i) ;
|
NotFile $(_i) ;
|
||||||
Echo "Warning: $(_i) not registered via RegisterCompileGroups" ;
|
Echo "Warning: $(_i) not registered via RegisterCompileGroups" ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## RegisterCompileGroups
|
## RegisterCompileGroups
|
||||||
## Registers compile groups. You must specify all compile groups here before
|
## Registers compile groups. You must specify all compile groups here before
|
||||||
## can use them.
|
## can use them.
|
||||||
rule RegisterCompileGroups
|
rule RegisterCompileGroups
|
||||||
{
|
{
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
COMPILE_GROUPS += $(<) ;
|
COMPILE_GROUPS += $(<) ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
local desc = [ Description $(i) ] ;
|
local desc = [ Description $(i) ] ;
|
||||||
if $(desc)
|
if $(desc)
|
||||||
{
|
{
|
||||||
Help $(i) : "Build the $(desc)" ;
|
Help $(i) : "Build the $(desc)" ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
170
mk/jam/help.jam
170
mk/jam/help.jam
@@ -1,85 +1,85 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for collecting and emitting descriptions about targets
|
# Rules for collecting and emitting descriptions about targets
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
## Description target [ : description ]
|
## Description target [ : description ]
|
||||||
## Provides access to the description of 'target'. The description may be
|
## Provides access to the description of 'target'. The description may be
|
||||||
## used by other rules, such as those which generate project files, or which
|
## used by other rules, such as those which generate project files, or which
|
||||||
## present informative messages to the user regarding 'target'. If invoked
|
## present informative messages to the user regarding 'target'. If invoked
|
||||||
## with two arguments, then it sets the description of 'target'. If invoked
|
## with two arguments, then it sets the description of 'target'. If invoked
|
||||||
## with one argument, then it returns the description of 'target'. You
|
## with one argument, then it returns the description of 'target'. You
|
||||||
## should invoke this rule to set the description before invoking other
|
## should invoke this rule to set the description before invoking other
|
||||||
## rules which might need access to target's description, such as the
|
## rules which might need access to target's description, such as the
|
||||||
## Application, Library, and Plugin rules. As a convenience, several generic
|
## Application, Library, and Plugin rules. As a convenience, several generic
|
||||||
## rules, such as Application, Library, and Plugin will automatically invoke
|
## rules, such as Application, Library, and Plugin will automatically invoke
|
||||||
## the Help rule for 'target' using the provided 'description'.
|
## the Help rule for 'target' using the provided 'description'.
|
||||||
rule Description
|
rule Description
|
||||||
{
|
{
|
||||||
local desc = $(>) ;
|
local desc = $(>) ;
|
||||||
if $(desc)
|
if $(desc)
|
||||||
{
|
{
|
||||||
$(<)_description = $(desc) ;
|
$(<)_description = $(desc) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
desc = $($(<)_description) ;
|
desc = $($(<)_description) ;
|
||||||
}
|
}
|
||||||
return $(desc) ;
|
return $(desc) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
## Help target : description
|
## Help target : description
|
||||||
## Specify the 'description' to emit for 'target' when the user invokes "jam
|
## Specify the 'description' to emit for 'target' when the user invokes "jam
|
||||||
## help".
|
## help".
|
||||||
rule Help
|
rule Help
|
||||||
{
|
{
|
||||||
local target = $(<) ;
|
local target = $(<) ;
|
||||||
local desc = $(>) ;
|
local desc = $(>) ;
|
||||||
|
|
||||||
if ! $(target) { target = "" ; }
|
if ! $(target) { target = "" ; }
|
||||||
if ! $(desc) { desc = "" ; }
|
if ! $(desc) { desc = "" ; }
|
||||||
|
|
||||||
# target width:20, description width:54
|
# target width:20, description width:54
|
||||||
local target_pad = " " ;
|
local target_pad = " " ;
|
||||||
local target_pat = "...................." ;
|
local target_pat = "...................." ;
|
||||||
local desc_pad = " " ;
|
local desc_pad = " " ;
|
||||||
local desc_pat = "......................................................" ;
|
local desc_pat = "......................................................" ;
|
||||||
|
|
||||||
local m = Match ; # Indirect invocation allows variables in pattern regex.
|
local m = Match ; # Indirect invocation allows variables in pattern regex.
|
||||||
local target_str = [ $(m) "($(target_pat)).*" : "$(target)$(target_pad)" ] ;
|
local target_str = [ $(m) "($(target_pat)).*" : "$(target)$(target_pad)" ] ;
|
||||||
local desc_str = [ $(m) "($(desc_pat)).*" : "$(desc)$(desc_pad)" ] ;
|
local desc_str = [ $(m) "($(desc_pat)).*" : "$(desc)$(desc_pad)" ] ;
|
||||||
local help = "jam $(target_str) $(desc_str)" ;
|
local help = "jam $(target_str) $(desc_str)" ;
|
||||||
|
|
||||||
target = $(target:G=help) ;
|
target = $(target:G=help) ;
|
||||||
Depends help : $(target) ;
|
Depends help : $(target) ;
|
||||||
NotFile $(help) ;
|
NotFile $(help) ;
|
||||||
PrintHelp $(target) : $(help) ;
|
PrintHelp $(target) : $(help) ;
|
||||||
Always $(target) ;
|
Always $(target) ;
|
||||||
NotFile $(target) ;
|
NotFile $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions quietly PrintHelp
|
actions quietly PrintHelp
|
||||||
{
|
{
|
||||||
echo "$(>)"
|
echo "$(>)"
|
||||||
}
|
}
|
||||||
|
|
||||||
NotFile help ;
|
NotFile help ;
|
||||||
Always help ;
|
Always help ;
|
||||||
Help all : "Build the entire project" ;
|
Help all : "Build the entire project" ;
|
||||||
|
|||||||
1188
mk/jam/helper.jam
1188
mk/jam/helper.jam
File diff suppressed because it is too large
Load Diff
@@ -1,213 +1,213 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for installation
|
# Rules for installation
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
INSTALL ?= "install" ;
|
INSTALL ?= "install" ;
|
||||||
INSTALL_PROGRAM ?= $(INSTALL) ;
|
INSTALL_PROGRAM ?= $(INSTALL) ;
|
||||||
INSTALL_DATA ?= "$(INSTALL) -m 644" ;
|
INSTALL_DATA ?= "$(INSTALL) -m 644" ;
|
||||||
|
|
||||||
# set some paths
|
# set some paths
|
||||||
appdatadir ?= [ ConcatDirs $(datadir) $(PACKAGE_NAME) ] ;
|
appdatadir ?= [ ConcatDirs $(datadir) $(PACKAGE_NAME) ] ;
|
||||||
appdocdir ?= [ ConcatDirs $(datadir) doc $(PACKAGE_NAME)-$(PACKAGE_VERSION) ] ;
|
appdocdir ?= [ ConcatDirs $(datadir) doc $(PACKAGE_NAME)-$(PACKAGE_VERSION) ] ;
|
||||||
appconfdir ?= [ ConcatDirs $(sysconfdir) $(PACKAGE_NAME) ] ;
|
appconfdir ?= [ ConcatDirs $(sysconfdir) $(PACKAGE_NAME) ] ;
|
||||||
appincdir ?= [ ConcatDirs $(includedir) $(PACKAGE_NAME) ] ;
|
appincdir ?= [ ConcatDirs $(includedir) $(PACKAGE_NAME) ] ;
|
||||||
plugindir ?= [ ConcatDirs $(libdir) $(PACKAGE_NAME) ] ;
|
plugindir ?= [ ConcatDirs $(libdir) $(PACKAGE_NAME) ] ;
|
||||||
|
|
||||||
rule GristInstall
|
rule GristInstall
|
||||||
{
|
{
|
||||||
local i, files ;
|
local i, files ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
if $(i:G) { files += $(i) ; }
|
if $(i:G) { files += $(i) ; }
|
||||||
else { files += $(i:G=$(SUBDIR)) ; }
|
else { files += $(i:G=$(SUBDIR)) ; }
|
||||||
}
|
}
|
||||||
return $(files) ;
|
return $(files) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallHeader headername [ : subdir ]
|
## InstallHeader headername [ : subdir ]
|
||||||
## DoInstall a header file into the includedir directory. A subdirectory
|
## DoInstall a header file into the includedir directory. A subdirectory
|
||||||
## relative to the includedir can be specified.
|
## relative to the includedir can be specified.
|
||||||
rule InstallHeader
|
rule InstallHeader
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(<) ] ;
|
local files = [ GristInstall $(<) ] ;
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
Depends install_include : [ DoInstall $(files) : $(appincdir) $(2) ] ;
|
Depends install_include : [ DoInstall $(files) : $(appincdir) $(2) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallData files [ : subdir ]
|
## InstallData files [ : subdir ]
|
||||||
## Installs data files
|
## Installs data files
|
||||||
rule InstallData
|
rule InstallData
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(<) ] ;
|
local files = [ GristInstall $(<) ] ;
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
Depends install_data : [ DoInstall $(files) : $(appdatadir) $(2) ] ;
|
Depends install_data : [ DoInstall $(files) : $(appdatadir) $(2) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallConfig files [ : subdir ]
|
## InstallConfig files [ : subdir ]
|
||||||
## Installs configuration files
|
## Installs configuration files
|
||||||
rule InstallConfig
|
rule InstallConfig
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(<) ] ;
|
local files = [ GristInstall $(<) ] ;
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
Depends install_config : [ DoInstall $(files) : $(appconfdir) $(2) ] ;
|
Depends install_config : [ DoInstall $(files) : $(appconfdir) $(2) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallDoc files [ : subdir ]
|
## InstallDoc files [ : subdir ]
|
||||||
## Installs documentation files
|
## Installs documentation files
|
||||||
rule InstallDoc
|
rule InstallDoc
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(<) ] ;
|
local files = [ GristInstall $(<) ] ;
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
Depends install_doc : [ DoInstall $(files) : $(appdocdir) $(2) ] ;
|
Depends install_doc : [ DoInstall $(files) : $(appdocdir) $(2) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallMan files
|
## InstallMan files
|
||||||
## Installs Unix manual files
|
## Installs Unix manual files
|
||||||
rule InstallMan
|
rule InstallMan
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(<) ] ;
|
local files = [ GristInstall $(<) ] ;
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(files)
|
for i in $(files)
|
||||||
{
|
{
|
||||||
local dir = $(mandir) ;
|
local dir = $(mandir) ;
|
||||||
switch $(i:S)
|
switch $(i:S)
|
||||||
{
|
{
|
||||||
case .1 : dir += man1 ;
|
case .1 : dir += man1 ;
|
||||||
case .2 : dir += man2 ;
|
case .2 : dir += man2 ;
|
||||||
case .3 : dir += man3 ;
|
case .3 : dir += man3 ;
|
||||||
case .4 : dir += man4 ;
|
case .4 : dir += man4 ;
|
||||||
case .5 : dir += man5 ;
|
case .5 : dir += man5 ;
|
||||||
case .6 : dir += man6 ;
|
case .6 : dir += man6 ;
|
||||||
case .7 : dir += man7 ;
|
case .7 : dir += man7 ;
|
||||||
case .8 : dir += man8 ;
|
case .8 : dir += man8 ;
|
||||||
case .9 : dir += man9 ;
|
case .9 : dir += man9 ;
|
||||||
case * :
|
case * :
|
||||||
echo "WARNING: manfile has no *.[0-9] ending." ;
|
echo "WARNING: manfile has no *.[0-9] ending." ;
|
||||||
}
|
}
|
||||||
Depends install_man : [ DoInstall $(i) : $(dir) ] ;
|
Depends install_man : [ DoInstall $(i) : $(dir) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## InstallProgram files [ : directories ]
|
## InstallProgram files [ : directories ]
|
||||||
## Installs program files (executable or shell script). This is a
|
## Installs program files (executable or shell script). This is a
|
||||||
## convenience wrapper for DoInstall when the resources to be installed is
|
## convenience wrapper for DoInstall when the resources to be installed is
|
||||||
## of an invocable nature. It sets SEARCH on `files', and uses
|
## of an invocable nature. It sets SEARCH on `files', and uses
|
||||||
## $(INSTALL_PROGRAM) to perform the actual installation. Unlike
|
## $(INSTALL_PROGRAM) to perform the actual installation. Unlike
|
||||||
## SystemInstallApplication, it does not assume that all such targets should
|
## SystemInstallApplication, it does not assume that all such targets should
|
||||||
## be installed into $(bindir); instead, you can provide `directories' to
|
## be installed into $(bindir); instead, you can provide `directories' to
|
||||||
## specify the installation location. If `directories' is not given, then
|
## specify the installation location. If `directories' is not given, then
|
||||||
## $(bindir) is assumed. Also, unlike SystemInstallApplication, this rule
|
## $(bindir) is assumed. Also, unlike SystemInstallApplication, this rule
|
||||||
## does not have any platform-specific knowledge (such as how to install a
|
## does not have any platform-specific knowledge (such as how to install a
|
||||||
## Cocoa application wrapper on MacOS/X). Always use
|
## Cocoa application wrapper on MacOS/X). Always use
|
||||||
## SystemInstallApplication for installation of full-fledged applications. A
|
## SystemInstallApplication for installation of full-fledged applications. A
|
||||||
## typical use for InstallProgram would be to install an already-existing
|
## typical use for InstallProgram would be to install an already-existing
|
||||||
## shell script. This differs from the ShellScript rule which both creates a
|
## shell script. This differs from the ShellScript rule which both creates a
|
||||||
## shell script from scratch at build time, and arranges for it to be
|
## shell script from scratch at build time, and arranges for it to be
|
||||||
## installed. Like DoInstall, this rule returns the names of the installed
|
## installed. Like DoInstall, this rule returns the names of the installed
|
||||||
## targets, so it is convenient to use the results as the input for another
|
## targets, so it is convenient to use the results as the input for another
|
||||||
## rule, such as Depends.
|
## rule, such as Depends.
|
||||||
rule InstallProgram
|
rule InstallProgram
|
||||||
{
|
{
|
||||||
local files = [ GristInstall $(1) ] ;
|
local files = [ GristInstall $(1) ] ;
|
||||||
local dir = $(2) ;
|
local dir = $(2) ;
|
||||||
if ! $(dir) { dir = $(bindir) ; }
|
if ! $(dir) { dir = $(bindir) ; }
|
||||||
SEARCH on $(files) = $(SUBDIR) ;
|
SEARCH on $(files) = $(SUBDIR) ;
|
||||||
return [ DoInstall $(files) : $(dir) : $(INSTALL_PROGRAM) ] ;
|
return [ DoInstall $(files) : $(dir) : $(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## DoInstall sourcenames : directories [ : installapp : [ postinstallrules ]]
|
## DoInstall sourcenames : directories [ : installapp : [ postinstallrules ]]
|
||||||
## Creates a new install target for the given sources named by
|
## Creates a new install target for the given sources named by
|
||||||
## `sourcenames'. `directories' is a list of directory components
|
## `sourcenames'. `directories' is a list of directory components
|
||||||
## indicating the installation directory for `sourcename'. `installapp' is
|
## indicating the installation directory for `sourcename'. `installapp' is
|
||||||
## the actual program to run to install the sources. If not specified, then
|
## the actual program to run to install the sources. If not specified, then
|
||||||
## $(INSTALL_DATA) is used. If the optional `postinstallrules' is provided,
|
## $(INSTALL_DATA) is used. If the optional `postinstallrules' is provided,
|
||||||
## it is a list of Jam rules to invoke on the installed target after it is
|
## it is a list of Jam rules to invoke on the installed target after it is
|
||||||
## installed. Each rule is invoked with the installed target as the first
|
## installed. Each rule is invoked with the installed target as the first
|
||||||
## argument, and the source target as the second. An obvious instance where
|
## argument, and the source target as the second. An obvious instance where
|
||||||
## `postinstallrules' proves useful is when the Ranlib rule should be
|
## `postinstallrules' proves useful is when the Ranlib rule should be
|
||||||
## invoked on just-installed static library (.a) files. The DoInstall rule
|
## invoked on just-installed static library (.a) files. The DoInstall rule
|
||||||
## returns the names of the installed targets, so it is convenient to use
|
## returns the names of the installed targets, so it is convenient to use
|
||||||
## the results as the input for another rule. For example:
|
## the results as the input for another rule. For example:
|
||||||
## Depends install : [ DoInstall $(docfiles) : $(installdocdir) ] ;
|
## Depends install : [ DoInstall $(docfiles) : $(installdocdir) ] ;
|
||||||
## (Implementation Note: We did not name this rule Install, because Jambase
|
## (Implementation Note: We did not name this rule Install, because Jambase
|
||||||
## already defines an action named Install :-/)
|
## already defines an action named Install :-/)
|
||||||
rule DoInstall
|
rule DoInstall
|
||||||
{
|
{
|
||||||
local targets target i dir gdir ;
|
local targets target i dir gdir ;
|
||||||
dir = [ ConcatDirs $(DESTDIR) $(2) ] ;
|
dir = [ ConcatDirs $(DESTDIR) $(2) ] ;
|
||||||
|
|
||||||
gdir = $(dir:G=dir) ;
|
gdir = $(dir:G=dir) ;
|
||||||
MkDir $(gdir) ;
|
MkDir $(gdir) ;
|
||||||
|
|
||||||
for i in $(1)
|
for i in $(1)
|
||||||
{
|
{
|
||||||
target = $(i:BSR=$(dir):G=install) ;
|
target = $(i:BSR=$(dir):G=install) ;
|
||||||
targets += $(target) ;
|
targets += $(target) ;
|
||||||
Depends $(target) : $(gdir) $(i) ;
|
Depends $(target) : $(gdir) $(i) ;
|
||||||
Install1 $(target) : $(i) ;
|
Install1 $(target) : $(i) ;
|
||||||
|
|
||||||
if "$(3)"
|
if "$(3)"
|
||||||
{
|
{
|
||||||
INSTALL_APP on $(target) = $(3) ;
|
INSTALL_APP on $(target) = $(3) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
INSTALL_APP on $(target) = $(INSTALL_DATA) ;
|
INSTALL_APP on $(target) = $(INSTALL_DATA) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if "$(4)"
|
if "$(4)"
|
||||||
{
|
{
|
||||||
local postrule ;
|
local postrule ;
|
||||||
for postrule in $(4)
|
for postrule in $(4)
|
||||||
{
|
{
|
||||||
$(postrule) $(target) : $(i) ;
|
$(postrule) $(target) : $(i) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Always $(targets) ;
|
Always $(targets) ;
|
||||||
return $(targets) ;
|
return $(targets) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
INSTALLTARGETS = install_bin install_plugin install_lib install_include
|
INSTALLTARGETS = install_bin install_plugin install_lib install_include
|
||||||
install_data install_config install_doc ;
|
install_data install_config install_doc ;
|
||||||
|
|
||||||
Always install $(INSTALLTARGETS) ;
|
Always install $(INSTALLTARGETS) ;
|
||||||
NotFile install $(INSTALLTARGETS) ;
|
NotFile install $(INSTALLTARGETS) ;
|
||||||
Depends install : $(INSTALLTARGETS) ;
|
Depends install : $(INSTALLTARGETS) ;
|
||||||
|
|
||||||
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = $(PACKAGE_LONGNAME) ; }
|
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = $(PACKAGE_LONGNAME) ; }
|
||||||
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = $(PACKAGE_NAME) ; }
|
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = $(PACKAGE_NAME) ; }
|
||||||
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = "the project" ; }
|
if ! $(PACKAGE_INSTALL_NAME) { PACKAGE_INSTALL_NAME = "the project" ; }
|
||||||
Help install : "Install $(PACKAGE_INSTALL_NAME)" ;
|
Help install : "Install $(PACKAGE_INSTALL_NAME)" ;
|
||||||
|
|
||||||
actions Install1
|
actions Install1
|
||||||
{
|
{
|
||||||
$(INSTALL_APP) $(INSTALLFLAGS) $(>) $(<)
|
$(INSTALL_APP) $(INSTALLFLAGS) $(>) $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
actions CopyDirs
|
actions CopyDirs
|
||||||
{
|
{
|
||||||
$(DEEPCOPY) $(>) $(<)
|
$(DEEPCOPY) $(>) $(<)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,349 +1,349 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Several hacks to make the build compatible with certain old/broken jam
|
# Several hacks to make the build compatible with certain old/broken jam
|
||||||
# versions
|
# versions
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
# BoostJam is evil: It is compatible to Jam 2.4 but has a version number 3.1,
|
# BoostJam is evil: It is compatible to Jam 2.4 but has a version number 3.1,
|
||||||
# we try to detect BoostJam with the ARGV extension.
|
# we try to detect BoostJam with the ARGV extension.
|
||||||
if $(ARGV[0])
|
if $(ARGV[0])
|
||||||
{
|
{
|
||||||
# BoostJam hacks.
|
# BoostJam hacks.
|
||||||
JAMVERSION = 2.4 ;
|
JAMVERSION = 2.4 ;
|
||||||
rule FIncludes
|
rule FIncludes
|
||||||
{
|
{
|
||||||
return -I$(<) ;
|
return -I$(<) ;
|
||||||
}
|
}
|
||||||
rule FDefines
|
rule FDefines
|
||||||
{
|
{
|
||||||
return -D$(<) ;
|
return -D$(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(JAMVERSION) < 2.4
|
if $(JAMVERSION) < 2.4
|
||||||
{
|
{
|
||||||
EXIT "Error: This buildsystem requires jam version 2.4 or later." ;
|
EXIT "Error: This buildsystem requires jam version 2.4 or later." ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# All scripts invoked by the build system expect a Bourne or compatible shell.
|
# All scripts invoked by the build system expect a Bourne or compatible shell.
|
||||||
# Reject C-shell and its variants (such as tcsh). Unfortunately, this is a bit
|
# Reject C-shell and its variants (such as tcsh). Unfortunately, this is a bit
|
||||||
# of an ugly hack. It would be nicer to perform this logic at the very end of
|
# of an ugly hack. It would be nicer to perform this logic at the very end of
|
||||||
# this file as a last-minute assertion. Unfortunately, however, it seems that
|
# this file as a last-minute assertion. Unfortunately, however, it seems that
|
||||||
# references to $(SHELL) in any of the included files get bound at the point
|
# references to $(SHELL) in any of the included files get bound at the point
|
||||||
# of reference, thus we need to perform this filtering as early as possible.
|
# of reference, thus we need to perform this filtering as early as possible.
|
||||||
# Furthermore, on Windows, if the MSYS installation path contains a space (such
|
# Furthermore, on Windows, if the MSYS installation path contains a space (such
|
||||||
# as "c:\Program Files\msys"), the space will cause `actions' to fail which
|
# as "c:\Program Files\msys"), the space will cause `actions' to fail which
|
||||||
# employ $(SHELL) indirectly through some other variable. Therefore, handle
|
# employ $(SHELL) indirectly through some other variable. Therefore, handle
|
||||||
# this case as well.
|
# this case as well.
|
||||||
if [ Match (csh) : $(SHELL) ] || $(SHELL[2])
|
if [ Match (csh) : $(SHELL) ] || $(SHELL[2])
|
||||||
{
|
{
|
||||||
SHELL = "/bin/sh" ;
|
SHELL = "/bin/sh" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Jam 2.4's SubDir rule had some problems and misses the useful SUBDIRRULES
|
# Jam 2.4's SubDir rule had some problems and misses the useful SUBDIRRULES
|
||||||
# extension. So we override it here with a better version (from jam 2.5rc3).
|
# extension. So we override it here with a better version (from jam 2.5rc3).
|
||||||
# Likewise, 2.4 is missing FReverse and FStrip, which are needed by SubDir and
|
# Likewise, 2.4 is missing FReverse and FStrip, which are needed by SubDir and
|
||||||
# other custom rules we define.
|
# other custom rules we define.
|
||||||
if $(JAMVERSION) = 2.4
|
if $(JAMVERSION) = 2.4
|
||||||
{
|
{
|
||||||
|
|
||||||
rule FReverse
|
rule FReverse
|
||||||
{
|
{
|
||||||
# FReverse a1 a2 a3 ... ;
|
# FReverse a1 a2 a3 ... ;
|
||||||
# return ... a3 a2 a1 ;
|
# return ... a3 a2 a1 ;
|
||||||
|
|
||||||
if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }
|
if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }
|
||||||
}
|
}
|
||||||
|
|
||||||
rule FStripCommon
|
rule FStripCommon
|
||||||
{
|
{
|
||||||
# FStripCommon v1 : v2 ;
|
# FStripCommon v1 : v2 ;
|
||||||
|
|
||||||
# Strip common initial elements of variables v1 and v2.
|
# Strip common initial elements of variables v1 and v2.
|
||||||
# Modifies the variable values themselves.
|
# Modifies the variable values themselves.
|
||||||
|
|
||||||
if $($(<)[1]) && $($(<)[1]) = $($(>)[1])
|
if $($(<)[1]) && $($(<)[1]) = $($(>)[1])
|
||||||
{
|
{
|
||||||
$(<) = $($(<)[2-]) ;
|
$(<) = $($(<)[2-]) ;
|
||||||
$(>) = $($(>)[2-]) ;
|
$(>) = $($(>)[2-]) ;
|
||||||
FStripCommon $(<) : $(>) ;
|
FStripCommon $(<) : $(>) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SubDir
|
rule SubDir
|
||||||
{
|
{
|
||||||
#
|
#
|
||||||
# SubDir TOP d1 d2 ... ;
|
# SubDir TOP d1 d2 ... ;
|
||||||
#
|
#
|
||||||
# Support for a project tree spanning multiple directories.
|
# Support for a project tree spanning multiple directories.
|
||||||
#
|
#
|
||||||
# SubDir declares a Jamfile's location in a project tree, setting
|
# SubDir declares a Jamfile's location in a project tree, setting
|
||||||
# Jambase variables (SEARCH_SOURCE, LOCATE_TARGET) so that source
|
# Jambase variables (SEARCH_SOURCE, LOCATE_TARGET) so that source
|
||||||
# files can be found.
|
# files can be found.
|
||||||
#
|
#
|
||||||
# TOP is a user-select variable name for root of the tree, and
|
# TOP is a user-select variable name for root of the tree, and
|
||||||
# d1 d2 ... are the directory elements that lead from the root
|
# d1 d2 ... are the directory elements that lead from the root
|
||||||
# of the tree to the directory of the Jamfile.
|
# of the tree to the directory of the Jamfile.
|
||||||
#
|
#
|
||||||
# TOP can be set externally, but normally the first SubDir call
|
# TOP can be set externally, but normally the first SubDir call
|
||||||
# computes TOP as the path up from the current directory; the
|
# computes TOP as the path up from the current directory; the
|
||||||
# path contains one ../ for each of d1 d2 ...
|
# path contains one ../ for each of d1 d2 ...
|
||||||
#
|
#
|
||||||
# SubDir reads once the project-specific rules file Jamrules
|
# SubDir reads once the project-specific rules file Jamrules
|
||||||
# in the TOP directory, if present. This can be overridden
|
# in the TOP directory, if present. This can be overridden
|
||||||
# with the variable TOPRULES.
|
# with the variable TOPRULES.
|
||||||
#
|
#
|
||||||
# SubDir supports multiple, overlaid project trees: SubDir
|
# SubDir supports multiple, overlaid project trees: SubDir
|
||||||
# invocations with different TOPs can appear in the same Jamfile.
|
# invocations with different TOPs can appear in the same Jamfile.
|
||||||
# The location established by the first SubDir call is used set
|
# The location established by the first SubDir call is used set
|
||||||
# the TOPs for the subsequent SubDir calls.
|
# the TOPs for the subsequent SubDir calls.
|
||||||
#
|
#
|
||||||
# SubDir's public variables:
|
# SubDir's public variables:
|
||||||
#
|
#
|
||||||
# $(TOP) = path from CWD to root.
|
# $(TOP) = path from CWD to root.
|
||||||
# $(SUBDIR) = path from CWD to the directory SubDir names.
|
# $(SUBDIR) = path from CWD to the directory SubDir names.
|
||||||
# $(SUBDIR_TOKENS) = path from $(TOP) to $(SUBDIR) as dir names
|
# $(SUBDIR_TOKENS) = path from $(TOP) to $(SUBDIR) as dir names
|
||||||
# $(SEARCH_SOURCE) = $(SUBDIR)
|
# $(SEARCH_SOURCE) = $(SUBDIR)
|
||||||
# $(LOCATE_SOURCE) = $(ALL_LOCATE_TARGET) $(SUBDIR)
|
# $(LOCATE_SOURCE) = $(ALL_LOCATE_TARGET) $(SUBDIR)
|
||||||
# $(LOCATE_TARGET) = $(ALL_LOCATE_TARGET) $(SUBDIR)
|
# $(LOCATE_TARGET) = $(ALL_LOCATE_TARGET) $(SUBDIR)
|
||||||
# $(SOURCE_GRIST) = $(SUBDIR_TOKENS) with !'s
|
# $(SOURCE_GRIST) = $(SUBDIR_TOKENS) with !'s
|
||||||
#
|
#
|
||||||
|
|
||||||
local _top = $(<[1]) ;
|
local _top = $(<[1]) ;
|
||||||
local _tokens = $(<[2-]) ;
|
local _tokens = $(<[2-]) ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# First time through sets up relative root and includes Jamrules.
|
# First time through sets up relative root and includes Jamrules.
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! $(_top)
|
if ! $(_top)
|
||||||
{
|
{
|
||||||
Exit SubDir syntax error ;
|
Exit SubDir syntax error ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! $($(_top)-SET)
|
if ! $($(_top)-SET)
|
||||||
{
|
{
|
||||||
$(_top)-SET = true ;
|
$(_top)-SET = true ;
|
||||||
|
|
||||||
# First time we've seen this TOP.
|
# First time we've seen this TOP.
|
||||||
# We'll initialize a number of internal variables:
|
# We'll initialize a number of internal variables:
|
||||||
#
|
#
|
||||||
# $(TOP-UP) = directories from ROOT to a common point
|
# $(TOP-UP) = directories from ROOT to a common point
|
||||||
# $(TOP-DOWN) = directories from common point to TOP
|
# $(TOP-DOWN) = directories from common point to TOP
|
||||||
# $(TOP-ROOT) = root directory for UP/DOWN -- normally CWD
|
# $(TOP-ROOT) = root directory for UP/DOWN -- normally CWD
|
||||||
# $(SUBDIR_UP) = current value of $(TOP-UP)
|
# $(SUBDIR_UP) = current value of $(TOP-UP)
|
||||||
# $(SUBDIR_DOWN) = current value of $(TOP-DOWN)
|
# $(SUBDIR_DOWN) = current value of $(TOP-DOWN)
|
||||||
# $(SUBDIR_ROOT) = current value of $(TOP-ROOT)
|
# $(SUBDIR_ROOT) = current value of $(TOP-ROOT)
|
||||||
#
|
#
|
||||||
|
|
||||||
if $($(_top))
|
if $($(_top))
|
||||||
{
|
{
|
||||||
# TOP externally set.
|
# TOP externally set.
|
||||||
# We'll ignore the relative (UP/DOWN) path that
|
# We'll ignore the relative (UP/DOWN) path that
|
||||||
# got us here, and instead remember the hard ROOT.
|
# got us here, and instead remember the hard ROOT.
|
||||||
|
|
||||||
$(_top)-UP = ;
|
$(_top)-UP = ;
|
||||||
$(_top)-DOWN = ;
|
$(_top)-DOWN = ;
|
||||||
$(_top)-ROOT = $($(_top)) ;
|
$(_top)-ROOT = $($(_top)) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# TOP not preset.
|
# TOP not preset.
|
||||||
|
|
||||||
# Establishing a new TOP. In the simplest case,
|
# Establishing a new TOP. In the simplest case,
|
||||||
# (SUBDIR_UP/SUBDIR_DOWN/SUBDIR_ROOT unset), it's
|
# (SUBDIR_UP/SUBDIR_DOWN/SUBDIR_ROOT unset), it's
|
||||||
# merely a certain number of directories down from
|
# merely a certain number of directories down from
|
||||||
# the current directory, and FSubDirPath will set
|
# the current directory, and FSubDirPath will set
|
||||||
# TOP to a path consisting of ../ for each of the
|
# TOP to a path consisting of ../ for each of the
|
||||||
# elements of _tokens, because that represents how
|
# elements of _tokens, because that represents how
|
||||||
# far below TOP the current directory sits.
|
# far below TOP the current directory sits.
|
||||||
#
|
#
|
||||||
# In the more complicated case, the starting directory
|
# In the more complicated case, the starting directory
|
||||||
# isn't the directory of jam's invocation but an
|
# isn't the directory of jam's invocation but an
|
||||||
# location established by previous SubDir call. The
|
# location established by previous SubDir call. The
|
||||||
# starting directory is SUBDIR_UP directories up from
|
# starting directory is SUBDIR_UP directories up from
|
||||||
# SUBDIR_ROOT, and then SUBDIR_DOWN directories down
|
# SUBDIR_ROOT, and then SUBDIR_DOWN directories down
|
||||||
# from that. If SUBDIR_ROOT is not set, that means
|
# from that. If SUBDIR_ROOT is not set, that means
|
||||||
# SUBDIR_DOWN and SUBDIR_UP represent the path from
|
# SUBDIR_DOWN and SUBDIR_UP represent the path from
|
||||||
# the directory of jam's invocation.
|
# the directory of jam's invocation.
|
||||||
#
|
#
|
||||||
# In the most complicated case, the _tokens also
|
# In the most complicated case, the _tokens also
|
||||||
# represents directories down, because TOP is being
|
# represents directories down, because TOP is being
|
||||||
# estalished in a directory other than TOP's root.
|
# estalished in a directory other than TOP's root.
|
||||||
# Hopefully, _tokens and SUBDIR_DOWN represent the
|
# Hopefully, _tokens and SUBDIR_DOWN represent the
|
||||||
# same final directory, relative to the new TOP and
|
# same final directory, relative to the new TOP and
|
||||||
# the previous SubDIr's TOP. To find the new TOP,
|
# the previous SubDIr's TOP. To find the new TOP,
|
||||||
# we have to chop off any common directories from
|
# we have to chop off any common directories from
|
||||||
# then ends of _tokens and SUBDIR_DOWN. To do so,
|
# then ends of _tokens and SUBDIR_DOWN. To do so,
|
||||||
# we reverse each of them, call FStripCommon to
|
# we reverse each of them, call FStripCommon to
|
||||||
# remove the initial common elements, and then
|
# remove the initial common elements, and then
|
||||||
# reverse them again. After this process, if
|
# reverse them again. After this process, if
|
||||||
# both _tokens and SUBDIR_DOWN have elements, it
|
# both _tokens and SUBDIR_DOWN have elements, it
|
||||||
# means the directory names estalished by the two
|
# means the directory names estalished by the two
|
||||||
# SubDir calls don't match, and a warning is issued.
|
# SubDir calls don't match, and a warning is issued.
|
||||||
# All hell will likely break loose at this point,
|
# All hell will likely break loose at this point,
|
||||||
# since the whole SubDir scheme relies on the SubDir
|
# since the whole SubDir scheme relies on the SubDir
|
||||||
# calls accurately naming the current directory.
|
# calls accurately naming the current directory.
|
||||||
|
|
||||||
# Strip common trailing elements of _tokens and SUBDIR_DOWN.
|
# Strip common trailing elements of _tokens and SUBDIR_DOWN.
|
||||||
|
|
||||||
_tokens = [ FReverse $(_tokens) ] ;
|
_tokens = [ FReverse $(_tokens) ] ;
|
||||||
SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;
|
SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;
|
||||||
FStripCommon _tokens : SUBDIR_DOWN ;
|
FStripCommon _tokens : SUBDIR_DOWN ;
|
||||||
SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;
|
SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;
|
||||||
_tokens = [ FReverse $(_tokens) ] ;
|
_tokens = [ FReverse $(_tokens) ] ;
|
||||||
|
|
||||||
if $(SUBDIR_DOWN) && $(_tokens)
|
if $(SUBDIR_DOWN) && $(_tokens)
|
||||||
{
|
{
|
||||||
Echo Warning: SubDir $(<) misplaced! ;
|
Echo Warning: SubDir $(<) misplaced! ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# We'll remember the relative (UP/DOWN) path that
|
# We'll remember the relative (UP/DOWN) path that
|
||||||
# got us here, plus any hard ROOT starting point
|
# got us here, plus any hard ROOT starting point
|
||||||
# for the UP/DOWN. If TOP is never set externally,
|
# for the UP/DOWN. If TOP is never set externally,
|
||||||
# ROOT will always be "" (directory of jam's invocation).
|
# ROOT will always be "" (directory of jam's invocation).
|
||||||
|
|
||||||
$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;
|
$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;
|
||||||
$(_top)-DOWN = $(SUBDIR_DOWN) ;
|
$(_top)-DOWN = $(SUBDIR_DOWN) ;
|
||||||
$(_top)-ROOT = $(SUBDIR_ROOT:E="") ;
|
$(_top)-ROOT = $(SUBDIR_ROOT:E="") ;
|
||||||
$(_top) = [ FSubDirPath $(_top) ] ;
|
$(_top) = [ FSubDirPath $(_top) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set subdir vars for the inclusion of the Jamrules,
|
# Set subdir vars for the inclusion of the Jamrules,
|
||||||
# just in case they have SubDir rules of their own.
|
# just in case they have SubDir rules of their own.
|
||||||
# Note that SUBDIR_DOWN is empty: it's all the way
|
# Note that SUBDIR_DOWN is empty: it's all the way
|
||||||
# up where the Jamrules live. These gets overrided
|
# up where the Jamrules live. These gets overrided
|
||||||
# just after the inclusion.
|
# just after the inclusion.
|
||||||
|
|
||||||
SUBDIR_UP = $($(_top)-UP) ;
|
SUBDIR_UP = $($(_top)-UP) ;
|
||||||
SUBDIR_DOWN = ;
|
SUBDIR_DOWN = ;
|
||||||
SUBDIR_ROOT = $($(_top)-ROOT) ;
|
SUBDIR_ROOT = $($(_top)-ROOT) ;
|
||||||
|
|
||||||
# Include $(TOPRULES) or $(TOP)/Jamrules.
|
# Include $(TOPRULES) or $(TOP)/Jamrules.
|
||||||
# Include $(TOPRULES) if set.
|
# Include $(TOPRULES) if set.
|
||||||
# Otherwise include $(TOP)/Jamrules if present.
|
# Otherwise include $(TOP)/Jamrules if present.
|
||||||
|
|
||||||
if $($(_top)RULES) {
|
if $($(_top)RULES) {
|
||||||
include $($(_top)RULES) ;
|
include $($(_top)RULES) ;
|
||||||
} else {
|
} else {
|
||||||
NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;
|
NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;
|
||||||
include $(JAMRULES:R=$($(_top)):G=$(_top)) ;
|
include $(JAMRULES:R=$($(_top)):G=$(_top)) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get path from $(TOP) to named directory.
|
# Get path from $(TOP) to named directory.
|
||||||
# Save dir tokens for other potential uses.
|
# Save dir tokens for other potential uses.
|
||||||
|
|
||||||
SUBDIR_UP = $($(_top)-UP) ;
|
SUBDIR_UP = $($(_top)-UP) ;
|
||||||
SUBDIR_DOWN = $($(_top)-DOWN) $(_tokens) ;
|
SUBDIR_DOWN = $($(_top)-DOWN) $(_tokens) ;
|
||||||
SUBDIR_ROOT = $($(_top)-ROOT) ;
|
SUBDIR_ROOT = $($(_top)-ROOT) ;
|
||||||
SUBDIR_TOKENS = $(SUBDIR_DOWN) ;
|
SUBDIR_TOKENS = $(SUBDIR_DOWN) ;
|
||||||
|
|
||||||
SUBDIR = [ FSubDirPath $(<) ] ;
|
SUBDIR = [ FSubDirPath $(<) ] ;
|
||||||
|
|
||||||
# Now set up SEARCH_SOURCE, LOCATE_TARGET, SOURCE_GRIST
|
# Now set up SEARCH_SOURCE, LOCATE_TARGET, SOURCE_GRIST
|
||||||
# These can be reset if needed. For example, if the source
|
# These can be reset if needed. For example, if the source
|
||||||
# directory should not hold object files, LOCATE_TARGET can
|
# directory should not hold object files, LOCATE_TARGET can
|
||||||
# subsequently be redefined.
|
# subsequently be redefined.
|
||||||
|
|
||||||
SEARCH_SOURCE = $(SUBDIR) ;
|
SEARCH_SOURCE = $(SUBDIR) ;
|
||||||
LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
|
LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
|
||||||
LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
|
LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
|
||||||
SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ;
|
SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ;
|
||||||
|
|
||||||
# Reset per-directory ccflags, hdrs, etc,
|
# Reset per-directory ccflags, hdrs, etc,
|
||||||
# listed in SUBDIRRESET.
|
# listed in SUBDIRRESET.
|
||||||
# Note use of variable expanded assignment var
|
# Note use of variable expanded assignment var
|
||||||
|
|
||||||
SUBDIR$(SUBDIRRESET) = ;
|
SUBDIR$(SUBDIRRESET) = ;
|
||||||
|
|
||||||
# Invoke user-specific SubDir extensions,
|
# Invoke user-specific SubDir extensions,
|
||||||
# rule names listed in SUBDIRRULES.
|
# rule names listed in SUBDIRRULES.
|
||||||
# Note use of variable expanded rule invocation
|
# Note use of variable expanded rule invocation
|
||||||
|
|
||||||
$(SUBDIRRULES) $(<) ;
|
$(SUBDIRRULES) $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule FSubDirPath
|
rule FSubDirPath
|
||||||
{
|
{
|
||||||
# FSubDirPath TOP d1 ... ;
|
# FSubDirPath TOP d1 ... ;
|
||||||
|
|
||||||
# Returns path to named directory.
|
# Returns path to named directory.
|
||||||
|
|
||||||
# If jam is invoked in a subdirectory of the TOP, then we
|
# If jam is invoked in a subdirectory of the TOP, then we
|
||||||
# need to prepend a ../ for every level we must climb up
|
# need to prepend a ../ for every level we must climb up
|
||||||
# (TOP-UP), and then append the directory names we must
|
# (TOP-UP), and then append the directory names we must
|
||||||
# climb down (TOP-DOWN), plus the named directories d1 ...
|
# climb down (TOP-DOWN), plus the named directories d1 ...
|
||||||
# If TOP was set externally, or computed from another TOP
|
# If TOP was set externally, or computed from another TOP
|
||||||
# that was, we'll have to reroot the whole thing at TOP-ROOT.
|
# that was, we'll have to reroot the whole thing at TOP-ROOT.
|
||||||
|
|
||||||
local _r = [ FRelPath $($(<[1])-UP) : $($(<[1])-DOWN) $(<[2-]) ] ;
|
local _r = [ FRelPath $($(<[1])-UP) : $($(<[1])-DOWN) $(<[2-]) ] ;
|
||||||
|
|
||||||
return $(_r:R=$($(<[1])-ROOT)) ;
|
return $(_r:R=$($(<[1])-ROOT)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SubInclude
|
rule SubInclude
|
||||||
{
|
{
|
||||||
# SubInclude TOP d1 ... ;
|
# SubInclude TOP d1 ... ;
|
||||||
#
|
#
|
||||||
# Include a subdirectory's Jamfile.
|
# Include a subdirectory's Jamfile.
|
||||||
|
|
||||||
# We use SubDir to get there, in case the included Jamfile
|
# We use SubDir to get there, in case the included Jamfile
|
||||||
# either doesn't have its own SubDir (naughty) or is a subtree
|
# either doesn't have its own SubDir (naughty) or is a subtree
|
||||||
# with its own TOP.
|
# with its own TOP.
|
||||||
|
|
||||||
if ! $($(<[1]))
|
if ! $($(<[1]))
|
||||||
{
|
{
|
||||||
Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;
|
Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
SubDir $(<) ;
|
SubDir $(<) ;
|
||||||
|
|
||||||
include $(JAMFILE:D=$(SUBDIR)) ;
|
include $(JAMFILE:D=$(SUBDIR)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SubRules
|
rule SubRules
|
||||||
{
|
{
|
||||||
# SubRules TOP d1 ... : Other-TOP ;
|
# SubRules TOP d1 ... : Other-TOP ;
|
||||||
#
|
#
|
||||||
# Read another tree's Jamrules, by giving it's path according
|
# Read another tree's Jamrules, by giving it's path according
|
||||||
# to this tree and it's own name.
|
# to this tree and it's own name.
|
||||||
|
|
||||||
if ! $($(<[1]))
|
if ! $($(<[1]))
|
||||||
{
|
{
|
||||||
Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;
|
Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
SubDir $(<) ;
|
SubDir $(<) ;
|
||||||
SubDir $(>) ;
|
SubDir $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## Now we try to fix up the already messed settings
|
## Now we try to fix up the already messed settings
|
||||||
## XXX We can only hope that Jam 2.4 users don't try starting Jam from
|
## XXX We can only hope that Jam 2.4 users don't try starting Jam from
|
||||||
## subdirectories
|
## subdirectories
|
||||||
TOP-SET = true ;
|
TOP-SET = true ;
|
||||||
TOP-UP = ;
|
TOP-UP = ;
|
||||||
TOP-DOWN = ;
|
TOP-DOWN = ;
|
||||||
TOP-ROOT = $(TOP) ;
|
TOP-ROOT = $(TOP) ;
|
||||||
SUBDIR_UP = $(TOP-UP) ;
|
SUBDIR_UP = $(TOP-UP) ;
|
||||||
SUBDIR_DOWN = ;
|
SUBDIR_DOWN = ;
|
||||||
SUBDIR_ROOT = $(TOP-ROOT) ;
|
SUBDIR_ROOT = $(TOP-ROOT) ;
|
||||||
|
|
||||||
#SubDir TOP ;
|
#SubDir TOP ;
|
||||||
|
|
||||||
} # end if $(JAMVERSION) = 2.4
|
} # end if $(JAMVERSION) = 2.4
|
||||||
|
|||||||
@@ -1,323 +1,323 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for library creation
|
# Rules for library creation
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
# Suppress ar's noisy report that it created the archive we asked it to create.
|
# Suppress ar's noisy report that it created the archive we asked it to create.
|
||||||
if $(AR) && $(AR[2]) = ru { AR = $(AR[1]) ruc ; }
|
if $(AR) && $(AR[2]) = ru { AR = $(AR[1]) ruc ; }
|
||||||
|
|
||||||
## Library libname : sources [ : options ]
|
## Library libname : sources [ : options ]
|
||||||
## Build a library out of sourcefiles. All sourcefiles will be passed
|
## Build a library out of sourcefiles. All sourcefiles will be passed
|
||||||
## to the Objects rule which tries to compile them into object-files. You
|
## to the Objects rule which tries to compile them into object-files. You
|
||||||
## can create rules for your own filetypes with the UserObject rule. Header
|
## can create rules for your own filetypes with the UserObject rule. Header
|
||||||
## files will just be ignored. They are only used for MSVC projectfile
|
## files will just be ignored. They are only used for MSVC projectfile
|
||||||
## generation.
|
## generation.
|
||||||
## Available options are 'shared' if you want to build a shared library on
|
## Available options are 'shared' if you want to build a shared library on
|
||||||
## platforms which support that. You can specify the 'noinstall' option if
|
## platforms which support that. You can specify the 'noinstall' option if
|
||||||
## you don't want an install target generated.
|
## you don't want an install target generated.
|
||||||
## Don't specify any extensions for the library name, also leave out the
|
## Don't specify any extensions for the library name, also leave out the
|
||||||
## leading "lib".
|
## leading "lib".
|
||||||
## Options:
|
## Options:
|
||||||
## noinstall: Do not set up a default installation target.
|
## noinstall: Do not set up a default installation target.
|
||||||
## independent: The target will not be made a dependency of the libs and
|
## independent: The target will not be made a dependency of the libs and
|
||||||
## all targets.
|
## all targets.
|
||||||
## shared: Create as a shared library on supported platforms.
|
## shared: Create as a shared library on supported platforms.
|
||||||
## nohelp: Do not invoke Help for this target.
|
## nohelp: Do not invoke Help for this target.
|
||||||
## notest: Do not set up unit-testing support for this target.
|
## notest: Do not set up unit-testing support for this target.
|
||||||
## optional: Affects handling of the library in cs-config; it is only
|
## optional: Affects handling of the library in cs-config; it is only
|
||||||
## reported as available when actually built.
|
## reported as available when actually built.
|
||||||
rule Library
|
rule Library
|
||||||
{
|
{
|
||||||
local options = $(3) ;
|
local options = $(3) ;
|
||||||
CheckOptions noinstall independent shared nohelp notest optional : $(options) : $(<) ;
|
CheckOptions noinstall independent shared nohelp notest optional : $(options) : $(<) ;
|
||||||
|
|
||||||
local target = [ ConstructLibraryTarget $(<) : $(options) ] ;
|
local target = [ ConstructLibraryTarget $(<) : $(options) ] ;
|
||||||
local sources = [ DoSourceGrist $(>) ] ;
|
local sources = [ DoSourceGrist $(>) ] ;
|
||||||
local objects ;
|
local objects ;
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(sources)
|
for i in $(sources)
|
||||||
{
|
{
|
||||||
if $(i:S) = $(SUFOBJ)
|
if $(i:S) = $(SUFOBJ)
|
||||||
{
|
{
|
||||||
objects += $(i) ;
|
objects += $(i) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
objects += [ CompileObjects $(i) ] ;
|
objects += [ CompileObjects $(i) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$(<)_TYPE = library ;
|
$(<)_TYPE = library ;
|
||||||
$(<)_OBJECTS = $(objects) ;
|
$(<)_OBJECTS = $(objects) ;
|
||||||
$(<)_SOURCES = $(sources) ;
|
$(<)_SOURCES = $(sources) ;
|
||||||
$(<)_TARGET = $(target) ;
|
$(<)_TARGET = $(target) ;
|
||||||
|
|
||||||
# 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) != $(<)
|
||||||
{
|
{
|
||||||
Depends $(<) : $(target) ;
|
Depends $(<) : $(target) ;
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# library depends on its member objects
|
# library depends on its member objects
|
||||||
if ! [ IsElem independent : $(options) ]
|
if ! [ IsElem independent : $(options) ]
|
||||||
{
|
{
|
||||||
if $(KEEPOBJS)
|
if $(KEEPOBJS)
|
||||||
{
|
{
|
||||||
Depends obj : $(objects) ;
|
Depends obj : $(objects) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Depends libs : $(<) ;
|
Depends libs : $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! [ IsElem shared : $(options) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
if ( ! [ IsElem shared : $(options) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
||||||
{
|
{
|
||||||
$(<)_SHARED = "" ;
|
$(<)_SHARED = "" ;
|
||||||
LibraryStatic $(<) : $(objects) : [ Filter $(options) : shared ] :
|
LibraryStatic $(<) : $(objects) : [ Filter $(options) : shared ] :
|
||||||
$(target) ;
|
$(target) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$(<)_SHARED = "shared" ;
|
$(<)_SHARED = "shared" ;
|
||||||
LibraryShared $(<) : $(objects) : $(options) : $(target) ;
|
LibraryShared $(<) : $(objects) : $(options) : $(target) ;
|
||||||
}
|
}
|
||||||
CFlags $(<) : $(LIBRARY.CFLAGS) ;
|
CFlags $(<) : $(LIBRARY.CFLAGS) ;
|
||||||
LFlags $(<) : $(LIBRARY.LFLAGS) ;
|
LFlags $(<) : $(LIBRARY.LFLAGS) ;
|
||||||
|
|
||||||
# create target clean rule
|
# create target clean rule
|
||||||
Always $(<)clean ;
|
Always $(<)clean ;
|
||||||
NotFile $(<)clean ;
|
NotFile $(<)clean ;
|
||||||
Clean $(<)clean : $(objects) $($(<)_CLEANEXTRA) ;
|
Clean $(<)clean : $(objects) $($(<)_CLEANEXTRA) ;
|
||||||
Clean clean : $($(<)_CLEANEXTRA) ;
|
Clean clean : $($(<)_CLEANEXTRA) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(options) ]
|
if ! [ IsElem nohelp : $(options) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
if ! $(desc) { desc = "$(<) library" ; }
|
if ! $(desc) { desc = "$(<) library" ; }
|
||||||
Help $(<) : "Build the $(desc)" ;
|
Help $(<) : "Build the $(desc)" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! [ IsElem notest : $(options) ]
|
if ! [ IsElem notest : $(options) ]
|
||||||
{
|
{
|
||||||
UnitTest $(<) ;
|
UnitTest $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## LibDepends libname : dependant libraries
|
## LibDepends libname : dependant libraries
|
||||||
## Make Library dependant on other libraries. This will tell the build
|
## Make Library dependant on other libraries. This will tell the build
|
||||||
## system that your library uses functions from other libraries in the
|
## system that your library uses functions from other libraries in the
|
||||||
## project. Note that a library shouldn't be linked with any external
|
## project. Note that a library shouldn't be linked with any external
|
||||||
## library that should be done by the final application which uses the
|
## library that should be done by the final application which uses the
|
||||||
## library.
|
## library.
|
||||||
rule LibDepends
|
rule LibDepends
|
||||||
{
|
{
|
||||||
$(<)_depends += $(>) ;
|
$(<)_depends += $(>) ;
|
||||||
|
|
||||||
if "$($(<)_SHARED)"
|
if "$($(<)_SHARED)"
|
||||||
{
|
{
|
||||||
LinkWith $(<) : $(>) ;
|
LinkWith $(<) : $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
UnitTestLibDepends $(<) : $(>) ;
|
UnitTestLibDepends $(<) : $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private part
|
# private part
|
||||||
|
|
||||||
# LibraryStatic libname : sources : options : decoratedtarget
|
# LibraryStatic libname : sources : options : decoratedtarget
|
||||||
rule LibraryStatic
|
rule LibraryStatic
|
||||||
{
|
{
|
||||||
local objects = $(>) ;
|
local objects = $(>) ;
|
||||||
local options = $(3) ;
|
local options = $(3) ;
|
||||||
local target = $(4) ;
|
local target = $(4) ;
|
||||||
|
|
||||||
# Set LOCATE for the library and its contents. The bound
|
# Set LOCATE for the library and its contents. The bound
|
||||||
# value shows up as $(NEEDLIBS) on the Link actions.
|
# value shows up as $(NEEDLIBS) on the Link actions.
|
||||||
# For compatibility, we only do this if the library doesn't
|
# For compatibility, we only do this if the library doesn't
|
||||||
# already have a path.
|
# already have a path.
|
||||||
if ! $(target:D)
|
if ! $(target:D)
|
||||||
{
|
{
|
||||||
MakeLocate $(target) $(target)($(objects:BS)) : $(LOCATE.OBJECTS)/libs ;
|
MakeLocate $(target) $(target)($(objects:BS)) : $(LOCATE.OBJECTS)/libs ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(NOARSCAN)
|
if $(NOARSCAN)
|
||||||
{
|
{
|
||||||
# If we can't scan the library to timestamp its contents,
|
# If we can't scan the library to timestamp its contents,
|
||||||
# we have to just make the library depend directly on the
|
# we have to just make the library depend directly on the
|
||||||
# on-disk object files.
|
# on-disk object files.
|
||||||
Depends $(target) : $(objects) ;
|
Depends $(target) : $(objects) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# If we can scan the library, we make the library depend
|
# If we can scan the library, we make the library depend
|
||||||
# on its members and each member depend on the on-disk
|
# on its members and each member depend on the on-disk
|
||||||
# object file.
|
# object file.
|
||||||
Depends $(target) : $(target)($(objects:BS)) ;
|
Depends $(target) : $(target)($(objects:BS)) ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(objects)
|
for i in $(objects)
|
||||||
{
|
{
|
||||||
Depends $(target)($(i:BS)) : $(i) ;
|
Depends $(target)($(i:BS)) : $(i) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate install rules
|
# Generate install rules
|
||||||
if ! [ IsElem noinstall : $(options) ]
|
if ! [ IsElem noinstall : $(options) ]
|
||||||
{
|
{
|
||||||
if "$(RANLIB)"
|
if "$(RANLIB)"
|
||||||
{
|
{
|
||||||
Depends install_lib : [ DoInstall $(target) : $(libdir) : : Ranlib ] ;
|
Depends install_lib : [ DoInstall $(target) : $(libdir) : : Ranlib ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Depends install_lib : [ DoInstall $(target) : $(libdir) ] ;
|
Depends install_lib : [ DoInstall $(target) : $(libdir) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add to global library list
|
# Add to global library list
|
||||||
if [ IsElem optional : $(options) ]
|
if [ IsElem optional : $(options) ]
|
||||||
{
|
{
|
||||||
INSTALLEDLIBS_OPTIONAL += $(<) ;
|
INSTALLEDLIBS_OPTIONAL += $(<) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
INSTALLEDLIBS += $(<) ;
|
INSTALLEDLIBS += $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(CRELIB)
|
if $(CRELIB)
|
||||||
{
|
{
|
||||||
CreLib $(target) : $(objects[1]) ;
|
CreLib $(target) : $(objects[1]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
Archive $(target) : $(objects) ;
|
Archive $(target) : $(objects) ;
|
||||||
|
|
||||||
if $(RANLIB)
|
if $(RANLIB)
|
||||||
{
|
{
|
||||||
Ranlib $(target) ;
|
Ranlib $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# If we can't scan the library, we have to leave the .o's around.
|
# If we can't scan the library, we have to leave the .o's around.
|
||||||
if ! ( $(NOARSCAN) || $(NOARUPDATE) || $(KEEPOBJS) )
|
if ! ( $(NOARSCAN) || $(NOARUPDATE) || $(KEEPOBJS) )
|
||||||
{
|
{
|
||||||
RmTemps $(target) : $(objects) ;
|
RmTemps $(target) : $(objects) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# LibraryStatic libname : sources : options : decoratedtarget
|
# LibraryStatic libname : sources : options : decoratedtarget
|
||||||
rule LibraryShared
|
rule LibraryShared
|
||||||
{
|
{
|
||||||
local objects = $(>) ;
|
local objects = $(>) ;
|
||||||
local options = $(3) ;
|
local options = $(3) ;
|
||||||
local target = $(4) ;
|
local target = $(4) ;
|
||||||
local linklib = [ ConstructSharedLibraryLinkLib $(<) : $(options) ] ;
|
local linklib = [ ConstructSharedLibraryLinkLib $(<) : $(options) ] ;
|
||||||
local deplibs ;
|
local deplibs ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(LIBDEPENDS)
|
for i in $(LIBDEPENDS)
|
||||||
{
|
{
|
||||||
deplibs += [ ConstructLibraryLinkTarget $(i) : $(options) ] ;
|
deplibs += [ ConstructLibraryLinkTarget $(i) : $(options) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate install rules
|
# Generate install rules
|
||||||
if ! [ IsElem noinstall : $(options) ]
|
if ! [ IsElem noinstall : $(options) ]
|
||||||
{
|
{
|
||||||
if $(TARGET.OS) != WIN32
|
if $(TARGET.OS) != WIN32
|
||||||
{
|
{
|
||||||
Depends install_lib : [ DoInstall $(target) : $(libdir) ] ;
|
Depends install_lib : [ DoInstall $(target) : $(libdir) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Depends install_lib : [ DoInstall $(target) : $(bindir) ] ;
|
Depends install_lib : [ DoInstall $(target) : $(bindir) ] ;
|
||||||
Depends install_lib : [ DoInstall $(linklib) : $(libdir) ] ;
|
Depends install_lib : [ DoInstall $(linklib) : $(libdir) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add to global library list
|
# Add to global library list
|
||||||
if [ IsElem optional : $(options) ]
|
if [ IsElem optional : $(options) ]
|
||||||
{
|
{
|
||||||
INSTALLEDLIBS_OPTIONAL += $(<) ;
|
INSTALLEDLIBS_OPTIONAL += $(<) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
INSTALLEDLIBS += $(<) ;
|
INSTALLEDLIBS += $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Depends $(<) : $(linklib) ;
|
Depends $(<) : $(linklib) ;
|
||||||
if $(linklib) != $(target)
|
if $(linklib) != $(target)
|
||||||
{
|
{
|
||||||
Depends $(linklib) : $(target) ;
|
Depends $(linklib) : $(target) ;
|
||||||
MakeLocate $(linklib) : $(LOCATE.OBJECTS)/libs ;
|
MakeLocate $(linklib) : $(LOCATE.OBJECTS)/libs ;
|
||||||
SEARCH on $(linklib) = $(LOCATE.OBJECTS)/libs ;
|
SEARCH on $(linklib) = $(LOCATE.OBJECTS)/libs ;
|
||||||
}
|
}
|
||||||
Depends $(target) : $(objects) ;
|
Depends $(target) : $(objects) ;
|
||||||
$(<)_CLEANEXTRA += $(target) ;
|
$(<)_CLEANEXTRA += $(target) ;
|
||||||
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"
|
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||||
{
|
{
|
||||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||||
$(<)_CLEANEXTRA += $(debugfile) ;
|
$(<)_CLEANEXTRA += $(debugfile) ;
|
||||||
if ! [ IsElem noinstall : $(options) ]
|
if ! [ IsElem noinstall : $(options) ]
|
||||||
{
|
{
|
||||||
NoCare $(debugfile) ;
|
NoCare $(debugfile) ;
|
||||||
Depends install_lib : [ DoInstall $(debugfile) : $(libdir) : $(INSTALL_DATA) ] ;
|
Depends install_lib : [ DoInstall $(debugfile) : $(libdir) : $(INSTALL_DATA) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rule ConstructLibraryTarget
|
rule ConstructLibraryTarget
|
||||||
{
|
{
|
||||||
if ( ! [ IsElem shared : $(>) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
if ( ! [ IsElem shared : $(>) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
||||||
{
|
{
|
||||||
return [ ConstructStaticLibraryTarget $(<) : [ Filter $(>) : shared ] ] ;
|
return [ ConstructStaticLibraryTarget $(<) : [ Filter $(>) : shared ] ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return [ ConstructSharedLibraryTarget $(<) : $(>) ] ;
|
return [ ConstructSharedLibraryTarget $(<) : $(>) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rule ConstructLibraryLinkTarget
|
rule ConstructLibraryLinkTarget
|
||||||
{
|
{
|
||||||
if ( ! [ IsElem shared : $(>) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
if ( ! [ IsElem shared : $(>) ] ) || ( $(BUILD_SHARED_LIBS) != "yes" )
|
||||||
{
|
{
|
||||||
return [ ConstructStaticLibraryTarget $(<) : [ Filter $(>) : shared ] ] ;
|
return [ ConstructStaticLibraryTarget $(<) : [ Filter $(>) : shared ] ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return [ ConstructSharedLibraryLinkLib $(<) : $(>) ] ;
|
return [ ConstructSharedLibraryLinkLib $(<) : $(>) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
actions together Ranlib
|
actions together Ranlib
|
||||||
{
|
{
|
||||||
$(RANLIB) $(<)
|
$(RANLIB) $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Construct pseudo target libs which is used instead of the pseudo target lib
|
# Construct pseudo target libs which is used instead of the pseudo target lib
|
||||||
# in Jambase
|
# in Jambase
|
||||||
Depends lib : libs ;
|
Depends lib : libs ;
|
||||||
NotFile libs ;
|
NotFile libs ;
|
||||||
Help libs : "Build all link libraries" ;
|
Help libs : "Build all link libraries" ;
|
||||||
|
|||||||
@@ -1,354 +1,354 @@
|
|||||||
#==============================================================================
|
#==============================================================================
|
||||||
# Jam configuration and actions for MacOS/X
|
# Jam configuration and actions for MacOS/X
|
||||||
# Copyright (C) 2003-2005 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C) 2003-2005 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
SHELL ?= "/bin/sh" ;
|
SHELL ?= "/bin/sh" ;
|
||||||
|
|
||||||
MACOSX_ENVIRONMENT = "export MACOSX_DEPLOYMENT_TARGET=10.2" ;
|
MACOSX_ENVIRONMENT = "export MACOSX_DEPLOYMENT_TARGET=10.2" ;
|
||||||
PLUGIN.LFLAGS += "-bundle" ;
|
PLUGIN.LFLAGS += "-bundle" ;
|
||||||
# We use the ugly -Wl form, which does not contain embedded whitespace (unlike
|
# We use the ugly -Wl form, which does not contain embedded whitespace (unlike
|
||||||
# "-framework AppKit"), to help external projects which use the result of
|
# "-framework AppKit"), to help external projects which use the result of
|
||||||
# "cs-config --libs" in conjunction with GNU libtool, since libtool likes to
|
# "cs-config --libs" in conjunction with GNU libtool, since libtool likes to
|
||||||
# re-arrange arguments, not realizing that "-framwork" and "AppKit" need to
|
# re-arrange arguments, not realizing that "-framwork" and "AppKit" need to
|
||||||
# stay together.
|
# stay together.
|
||||||
LINKLIBS += "-Wl,-framework,AppKit" "-Wl,-framework,Foundation" ;
|
LINKLIBS += "-Wl,-framework,AppKit" "-Wl,-framework,Foundation" ;
|
||||||
|
|
||||||
# Jambase in Jam 2.4 has a bug where it incorrectly defines RANLIB as "" for
|
# Jambase in Jam 2.4 has a bug where it incorrectly defines RANLIB as "" for
|
||||||
# MacOS/X, and this bogus value will override a RANLIB set via ?= in Jamconfig,
|
# MacOS/X, and this bogus value will override a RANLIB set via ?= in Jamconfig,
|
||||||
# by a configure script, thus we must give RANLIB an appropriate value here if
|
# by a configure script, thus we must give RANLIB an appropriate value here if
|
||||||
# we find that it has the bogus value. Jam 2.5 does not contain this bug.
|
# we find that it has the bogus value. Jam 2.5 does not contain this bug.
|
||||||
# Furthermore, MacOS/X Panther expects us to use the -s option with ranlib.
|
# Furthermore, MacOS/X Panther expects us to use the -s option with ranlib.
|
||||||
if ! $(RANLIB) { RANLIB = "ranlib" ; }
|
if ! $(RANLIB) { RANLIB = "ranlib" ; }
|
||||||
RANLIB += "-s" ;
|
RANLIB += "-s" ;
|
||||||
|
|
||||||
# Experience seems to indicate that library scanning misbehaves on MacOS/X with
|
# Experience seems to indicate that library scanning misbehaves on MacOS/X with
|
||||||
# Jam 2.4, consequently we disable it.
|
# Jam 2.4, consequently we disable it.
|
||||||
NOARSCAN = true ;
|
NOARSCAN = true ;
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Public rules.
|
# Public rules.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
# ConstructApplicationTarget target : options
|
# ConstructApplicationTarget target : options
|
||||||
# Constructs the application target name.
|
# Constructs the application target name.
|
||||||
rule ConstructApplicationTarget
|
rule ConstructApplicationTarget
|
||||||
{
|
{
|
||||||
return $(<) ;
|
return $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ConstructStaticLibraryTarget target : options
|
# ConstructStaticLibraryTarget target : options
|
||||||
# Constructs the static library target name.
|
# Constructs the static library target name.
|
||||||
rule ConstructStaticLibraryTarget
|
rule ConstructStaticLibraryTarget
|
||||||
{
|
{
|
||||||
return lib$(<)$(SUFLIB) ;
|
return lib$(<)$(SUFLIB) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ConstructSharedLibraryTarget target : options
|
# ConstructSharedLibraryTarget target : options
|
||||||
# Constructs the shared library target name.
|
# Constructs the shared library target name.
|
||||||
rule ConstructSharedLibraryTarget
|
rule ConstructSharedLibraryTarget
|
||||||
{
|
{
|
||||||
return lib$(<).$(PACKAGE_VERSION).dylib ;
|
return lib$(<).$(PACKAGE_VERSION).dylib ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ConstructSharedLibraryLinkLib target : options
|
# ConstructSharedLibraryLinkLib target : options
|
||||||
# Constructs the name of a shared library against which some other target
|
# Constructs the name of a shared library against which some other target
|
||||||
# links.
|
# links.
|
||||||
rule ConstructSharedLibraryLinkLib
|
rule ConstructSharedLibraryLinkLib
|
||||||
{
|
{
|
||||||
return lib$(<).$(PACKAGE_VERSION).dylib ;
|
return lib$(<).$(PACKAGE_VERSION).dylib ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ConstructPluginTarget target : options
|
# ConstructPluginTarget target : options
|
||||||
# Constructs the plugin target name.
|
# Constructs the plugin target name.
|
||||||
rule ConstructPluginTarget
|
rule ConstructPluginTarget
|
||||||
{
|
{
|
||||||
return $(<).csbundle ;
|
return $(<).csbundle ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemLinkApplication target : objects : options
|
# SystemLinkApplication target : objects : options
|
||||||
# Apply appropriate rule to link the application based upon the options.
|
# Apply appropriate rule to link the application based upon the options.
|
||||||
rule SystemLinkApplication
|
rule SystemLinkApplication
|
||||||
{
|
{
|
||||||
local target = $($(<)_TARGET) ;
|
local target = $($(<)_TARGET) ;
|
||||||
Depends $(target) : $(>) ;
|
Depends $(target) : $(>) ;
|
||||||
if [ IsElem console : $(3) ]
|
if [ IsElem console : $(3) ]
|
||||||
{
|
{
|
||||||
LinkApplicationConsole $(target) : $(>) ;
|
LinkApplicationConsole $(target) : $(>) ;
|
||||||
Clean clean : $(target) ;
|
Clean clean : $(target) ;
|
||||||
Clean $(<)clean : $(target) ;
|
Clean $(<)clean : $(target) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CreateApplicationWrapper $(target) : $(>) ;
|
CreateApplicationWrapper $(target) : $(>) ;
|
||||||
CleanDir clean : [ Wrapper $(<) : app ] ;
|
CleanDir clean : [ Wrapper $(<) : app ] ;
|
||||||
CleanDir $(<)clean : [ Wrapper $(<) : app ] ;
|
CleanDir $(<)clean : [ Wrapper $(<) : app ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemInstallApplication target : subdirs : options
|
# SystemInstallApplication target : subdirs : options
|
||||||
# Apply appropriate rule to install the application based upon the options.
|
# Apply appropriate rule to install the application based upon the options.
|
||||||
rule SystemInstallApplication
|
rule SystemInstallApplication
|
||||||
{
|
{
|
||||||
if [ IsElem console : $(3) ]
|
if [ IsElem console : $(3) ]
|
||||||
{
|
{
|
||||||
Depends install_bin :
|
Depends install_bin :
|
||||||
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InstallApplicationGUI $(<) : $(bindir) $(2) ;
|
InstallApplicationGUI $(<) : $(bindir) $(2) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemInstallPlugin target : subdirs : options
|
# SystemInstallPlugin target : subdirs : options
|
||||||
# Apply appropriate rule to install the plugin based upon the options.
|
# Apply appropriate rule to install the plugin based upon the options.
|
||||||
rule SystemInstallPlugin
|
rule SystemInstallPlugin
|
||||||
{
|
{
|
||||||
Depends install_plugin :
|
Depends install_plugin :
|
||||||
[ DoInstall $(<) : $(plugindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
[ DoInstall $(<) : $(plugindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemLinkPlugin target : objects : options
|
# SystemLinkPlugin target : objects : options
|
||||||
# Link a plugin module and handle meta-data appropriately.
|
# Link a plugin module and handle meta-data appropriately.
|
||||||
rule SystemLinkPlugin
|
rule SystemLinkPlugin
|
||||||
{
|
{
|
||||||
local target = $($(<)_TARGET) ;
|
local target = $($(<)_TARGET) ;
|
||||||
Depends $(target) : $(>) ;
|
Depends $(target) : $(>) ;
|
||||||
LinkPlugin $(target) : $(>) ;
|
LinkPlugin $(target) : $(>) ;
|
||||||
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
||||||
Clean clean : $(target) ;
|
Clean clean : $(target) ;
|
||||||
Clean $(<)clean : $(target) ;
|
Clean $(<)clean : $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# LinkPlugin plugin : objects
|
# LinkPlugin plugin : objects
|
||||||
# Link a plugin module from a set of object files.
|
# Link a plugin module from a set of object files.
|
||||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(MACOSX_ENVIRONMENT)
|
$(MACOSX_ENVIRONMENT)
|
||||||
$(CMD.LINK) -bundle -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
$(CMD.LINK) -bundle -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||||
}
|
}
|
||||||
|
|
||||||
# LinkApplicationConsole exe : objects
|
# LinkApplicationConsole exe : objects
|
||||||
# Link a console (non-GUI) appliation from a set of object files.
|
# Link a console (non-GUI) appliation from a set of object files.
|
||||||
actions LinkApplicationConsole bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkApplicationConsole bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(MACOSX_ENVIRONMENT)
|
$(MACOSX_ENVIRONMENT)
|
||||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||||
}
|
}
|
||||||
|
|
||||||
# CreateApplicationWrapper basename : objects
|
# CreateApplicationWrapper basename : objects
|
||||||
# Create a complete, though minimal, application wrapper given a set of
|
# Create a complete, though minimal, application wrapper given a set of
|
||||||
# object files. The rules ApplicationIconDefault and ApplicationIcon
|
# object files. The rules ApplicationIconDefault and ApplicationIcon
|
||||||
# control the icon associated with the application wrapper.
|
# control the icon associated with the application wrapper.
|
||||||
rule CreateApplicationWrapper
|
rule CreateApplicationWrapper
|
||||||
{
|
{
|
||||||
WrapFile $(<) : $(<) : Contents MacOS : AppExe : $(>) ;
|
WrapFile $(<) : $(<) : Contents MacOS : AppExe : $(>) ;
|
||||||
WrapFile $(<) : PkgInfo : Contents : AppPkgInfo : $(>) ;
|
WrapFile $(<) : PkgInfo : Contents : AppPkgInfo : $(>) ;
|
||||||
WrapFile $(<) : version.plist : Contents : AppVersionPlist : $(>) ;
|
WrapFile $(<) : version.plist : Contents : AppVersionPlist : $(>) ;
|
||||||
WrapFile $(<) : Info.plist : Contents : AppInfoPlist : $(>) ;
|
WrapFile $(<) : Info.plist : Contents : AppInfoPlist : $(>) ;
|
||||||
WrapFile $(<) : InfoPlist.strings : Contents Resources English.lproj :
|
WrapFile $(<) : InfoPlist.strings : Contents Resources English.lproj :
|
||||||
AppInfoPlistStrings : $(>) ;
|
AppInfoPlistStrings : $(>) ;
|
||||||
|
|
||||||
local icon = [ ApplicationIcon macosx : $(<) ] ;
|
local icon = [ ApplicationIcon macosx : $(<) ] ;
|
||||||
if ! $(icon)
|
if ! $(icon)
|
||||||
{
|
{
|
||||||
local apptype = gui ;
|
local apptype = gui ;
|
||||||
if [ IsElem console : $(>) ] { apptype = console ; }
|
if [ IsElem console : $(>) ] { apptype = console ; }
|
||||||
icon = [ ApplicationIconDefault macosx : $(apptype) ] ;
|
icon = [ ApplicationIconDefault macosx : $(apptype) ] ;
|
||||||
}
|
}
|
||||||
if $(icon)
|
if $(icon)
|
||||||
{
|
{
|
||||||
$(<)_APPICON = $(icon) ;
|
$(<)_APPICON = $(icon) ;
|
||||||
AppIcon $(<) : $(icon) ;
|
AppIcon $(<) : $(icon) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Wrapper basename : suffix [ : pathcomponents ]
|
# Wrapper basename : suffix [ : pathcomponents ]
|
||||||
# Returns wrapper name in the directory specified by pathcomponents for
|
# Returns wrapper name in the directory specified by pathcomponents for
|
||||||
# the given basename. If pathcomponents is omitted, LOCATE.TARGETS is
|
# the given basename. If pathcomponents is omitted, LOCATE.TARGETS is
|
||||||
# used.
|
# used.
|
||||||
rule Wrapper
|
rule Wrapper
|
||||||
{
|
{
|
||||||
local dir ;
|
local dir ;
|
||||||
if $(3) { dir = [ FDirName $(3) ] ; }
|
if $(3) { dir = [ FDirName $(3) ] ; }
|
||||||
else { dir = $(LOCATE.TARGETS) ; }
|
else { dir = $(LOCATE.TARGETS) ; }
|
||||||
return [ FDirName $(dir) $(1).$(2) ] ;
|
return [ FDirName $(dir) $(1).$(2) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# WrapFile basename : file : pathcomponents : rule [ : objects : [ suffix ] ]
|
# WrapFile basename : file : pathcomponents : rule [ : objects : [ suffix ] ]
|
||||||
# Generate a file within a wrapper. pathcomponents is a list of names
|
# Generate a file within a wrapper. pathcomponents is a list of names
|
||||||
# which compose the relative path within the wrapper where file should be
|
# which compose the relative path within the wrapper where file should be
|
||||||
# placed. pathcomponents may be the empty list if the file should reside
|
# placed. pathcomponents may be the empty list if the file should reside
|
||||||
# at the top-level of the wrapper. rule is rule/action which should be
|
# at the top-level of the wrapper. rule is rule/action which should be
|
||||||
# invoked to generate file. rule is invoked with arguments
|
# invoked to generate file. rule is invoked with arguments
|
||||||
# <basename.suffix/pathcomponents/file>, <objects>, and <basename>.
|
# <basename.suffix/pathcomponents/file>, <objects>, and <basename>.
|
||||||
# objects is an optional list of files from which file should be built. It
|
# objects is an optional list of files from which file should be built. It
|
||||||
# may be omitted if file does not depend upon any other files. suffix is
|
# may be omitted if file does not depend upon any other files. suffix is
|
||||||
# the extension of the wrapper (not of file). If suffix is omitted, "app"
|
# the extension of the wrapper (not of file). If suffix is omitted, "app"
|
||||||
# is assumed.
|
# is assumed.
|
||||||
#
|
#
|
||||||
# Implementation note: If basename and file are the same, then we do not
|
# Implementation note: If basename and file are the same, then we do not
|
||||||
# grist file. (Obviously, we also do not want to set the file dependent
|
# grist file. (Obviously, we also do not want to set the file dependent
|
||||||
# upon itself.) The reason we do not grist file in this case is that the
|
# upon itself.) The reason we do not grist file in this case is that the
|
||||||
# LinkWith, and LFlags rules associate the variables NEEDLIBS and
|
# LinkWith, and LFlags rules associate the variables NEEDLIBS and
|
||||||
# LINKLIBS with the ungristed name, therefore in order to get access to
|
# LINKLIBS with the ungristed name, therefore in order to get access to
|
||||||
# these variables at AppExe action time, we must use the same (ungristed)
|
# these variables at AppExe action time, we must use the same (ungristed)
|
||||||
# name. It is otherwise impossible to gain access to those variables.
|
# name. It is otherwise impossible to gain access to those variables.
|
||||||
# This is an unfortunate hack which pollutes the otherwise general-purpose
|
# This is an unfortunate hack which pollutes the otherwise general-purpose
|
||||||
# WrapFile rule.
|
# WrapFile rule.
|
||||||
rule WrapFile
|
rule WrapFile
|
||||||
{
|
{
|
||||||
local suffix ;
|
local suffix ;
|
||||||
if $(6) { suffix = $(6) ; } else { suffix = app ; }
|
if $(6) { suffix = $(6) ; } else { suffix = app ; }
|
||||||
local target = $(2) ;
|
local target = $(2) ;
|
||||||
if $(target) != $(1)
|
if $(target) != $(1)
|
||||||
{
|
{
|
||||||
target = $(target:G=$(1)) ;
|
target = $(target:G=$(1)) ;
|
||||||
Depends $(1) : $(target) ;
|
Depends $(1) : $(target) ;
|
||||||
}
|
}
|
||||||
local dir = [ FDirName [ Wrapper $(1) : $(suffix) ] $(3) ] ;
|
local dir = [ FDirName [ Wrapper $(1) : $(suffix) ] $(3) ] ;
|
||||||
MakeLocate $(target) : $(dir) ;
|
MakeLocate $(target) : $(dir) ;
|
||||||
if $(5) { Depends $(target) : $(5) ; }
|
if $(5) { Depends $(target) : $(5) ; }
|
||||||
BASENAME on $(target) = $(1) ;
|
BASENAME on $(target) = $(1) ;
|
||||||
$(4) $(target) : $(5) : $(1) ;
|
$(4) $(target) : $(5) : $(1) ;
|
||||||
|
|
||||||
Clean clean : [ FDirName $(dir) $(target) ] ;
|
Clean clean : [ FDirName $(dir) $(target) ] ;
|
||||||
Clean $(1)clean : [ FDirName $(dir) $(target) ] ;
|
Clean $(1)clean : [ FDirName $(dir) $(target) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# LinkApplication exe : objects
|
# LinkApplication exe : objects
|
||||||
actions AppExe bind NEEDLIBS bind EXTRAOBJECTS
|
actions AppExe bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(MACOSX_ENVIRONMENT)
|
$(MACOSX_ENVIRONMENT)
|
||||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||||
}
|
}
|
||||||
|
|
||||||
# AppPkgInfo file
|
# AppPkgInfo file
|
||||||
actions AppPkgInfo
|
actions AppPkgInfo
|
||||||
{
|
{
|
||||||
echo 'APPL????' > $(<) ;
|
echo 'APPL????' > $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# AppInfoPlistStrings file
|
# AppInfoPlistStrings file
|
||||||
actions AppInfoPlistStrings
|
actions AppInfoPlistStrings
|
||||||
{
|
{
|
||||||
cat << EOT > $(<)
|
cat << EOT > $(<)
|
||||||
CFBundleName = "$(BASENAME)";
|
CFBundleName = "$(BASENAME)";
|
||||||
CFBundleShortVersionString = "$(PACKAGE_VERSION)";
|
CFBundleShortVersionString = "$(PACKAGE_VERSION)";
|
||||||
CFBundleGetInfoString = "$(BASENAME), $(PACKAGE_VERSION)";
|
CFBundleGetInfoString = "$(BASENAME), $(PACKAGE_VERSION)";
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
# AppVersionPlist file
|
# AppVersionPlist file
|
||||||
actions AppVersionPlist
|
actions AppVersionPlist
|
||||||
{
|
{
|
||||||
cat << EOT > $(<)
|
cat << EOT > $(<)
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||||
<plist version="0.9">
|
<plist version="0.9">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>$(PACKAGE_VERSION)</string>
|
<string>$(PACKAGE_VERSION)</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>$(PACKAGE_VERSION)</string>
|
<string>$(PACKAGE_VERSION)</string>
|
||||||
<key>ProjectName</key>
|
<key>ProjectName</key>
|
||||||
<string>$(BASENAME)</string>
|
<string>$(BASENAME)</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
# AppInfoPlist filename : placeholder : basename
|
# AppInfoPlist filename : placeholder : basename
|
||||||
# Implementation Note: $(BASENAME)_APPICON might be empty in the actions of
|
# Implementation Note: $(BASENAME)_APPICON might be empty in the actions of
|
||||||
# this rule, if the client did not specify a default icon or a
|
# this rule, if the client did not specify a default icon or a
|
||||||
# target-specific icon, in which case we need to omit both the
|
# target-specific icon, in which case we need to omit both the
|
||||||
# CFBundleIconFile key and value. To accomplish this, the key and value
|
# CFBundleIconFile key and value. To accomplish this, the key and value
|
||||||
# are placed on a single line with no intervening whitespace. When Jam
|
# are placed on a single line with no intervening whitespace. When Jam
|
||||||
# interpolates a variable, if the variable is empty, it removes all
|
# interpolates a variable, if the variable is empty, it removes all
|
||||||
# adjacent text (the key and value, in this case) which is just what we
|
# adjacent text (the key and value, in this case) which is just what we
|
||||||
# desire.
|
# desire.
|
||||||
actions AppInfoPlist
|
actions AppInfoPlist
|
||||||
{
|
{
|
||||||
cat << EOT > $(<)
|
cat << EOT > $(<)
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||||
<plist version="0.9">
|
<plist version="0.9">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>$(BASENAME)</string>
|
<string>$(BASENAME)</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(BASENAME)</string>
|
<string>$(BASENAME)</string>
|
||||||
<key>CFBundleIconFile</key><string>$($(BASENAME)_APPICON)</string>
|
<key>CFBundleIconFile</key><string>$($(BASENAME)_APPICON)</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>0</string>
|
<string>0</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>$(PACKAGE_VERSION)</string>
|
<string>$(PACKAGE_VERSION)</string>
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
# AppIcon <basename> : <icon>
|
# AppIcon <basename> : <icon>
|
||||||
# Copy an icon into the wrapper. It is assumed that some other agent has
|
# Copy an icon into the wrapper. It is assumed that some other agent has
|
||||||
# already set SEARCH on the icon, if necessary.
|
# already set SEARCH on the icon, if necessary.
|
||||||
rule AppIcon
|
rule AppIcon
|
||||||
{
|
{
|
||||||
local icon = $(>:G=$(<)) ;
|
local icon = $(>:G=$(<)) ;
|
||||||
Depends $(<) : $(icon) ;
|
Depends $(<) : $(icon) ;
|
||||||
Depends $(icon) : $(>) ;
|
Depends $(icon) : $(>) ;
|
||||||
MakeLocate $(icon) :
|
MakeLocate $(icon) :
|
||||||
[ FDirName [ Wrapper $(<) : app ] Contents Resources ] ;
|
[ FDirName [ Wrapper $(<) : app ] Contents Resources ] ;
|
||||||
Copy $(icon) : $(>) ;
|
Copy $(icon) : $(>) ;
|
||||||
Clean clean : $(icon) ;
|
Clean clean : $(icon) ;
|
||||||
Clean $(<)clean : $(icon) ;
|
Clean $(<)clean : $(icon) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# InstallApplicationGUI app : installdirs
|
# InstallApplicationGUI app : installdirs
|
||||||
# Install a GUI application. Unlike applications on other platforms which
|
# Install a GUI application. Unlike applications on other platforms which
|
||||||
# exist as a single executable file, on MacOS/X, an application is wrapped
|
# exist as a single executable file, on MacOS/X, an application is wrapped
|
||||||
# in a directory hierarchy, thus a deep copy is needed (i.e. the typical
|
# in a directory hierarchy, thus a deep copy is needed (i.e. the typical
|
||||||
# Install rule does not work).
|
# Install rule does not work).
|
||||||
rule InstallApplicationGUI
|
rule InstallApplicationGUI
|
||||||
{
|
{
|
||||||
local wrapper = $(<).app ;
|
local wrapper = $(<).app ;
|
||||||
Depends $(wrapper) : $(<) ;
|
Depends $(wrapper) : $(<) ;
|
||||||
SEARCH on $(wrapper) = $(LOCATE.TARGETS) ;
|
SEARCH on $(wrapper) = $(LOCATE.TARGETS) ;
|
||||||
|
|
||||||
# Yuck! Internal knowledge of how DoInstall composes 'dir' and 'target'.
|
# Yuck! Internal knowledge of how DoInstall composes 'dir' and 'target'.
|
||||||
local dir = [ ConcatDirs $(DESTDIR) $(2) ] ;
|
local dir = [ ConcatDirs $(DESTDIR) $(2) ] ;
|
||||||
local target = $(wrapper:BSR=$(dir):G=install) ;
|
local target = $(wrapper:BSR=$(dir):G=install) ;
|
||||||
|
|
||||||
InstallApplicationWrapperPrepare $(target) ;
|
InstallApplicationWrapperPrepare $(target) ;
|
||||||
Depends install_bin :
|
Depends install_bin :
|
||||||
[ DoInstall $(wrapper) : $(2) : "$(DEEPCOPY)" ] ;
|
[ DoInstall $(wrapper) : $(2) : "$(DEEPCOPY)" ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions InstallApplicationWrapperPrepare
|
actions InstallApplicationWrapperPrepare
|
||||||
{
|
{
|
||||||
$(DELTREE) $(<) ;
|
$(DELTREE) $(<) ;
|
||||||
}
|
}
|
||||||
|
|||||||
3124
mk/jam/msvcgen.jam
3124
mk/jam/msvcgen.jam
File diff suppressed because it is too large
Load Diff
@@ -1,80 +1,80 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for compiling Objective-C and Objective-C++ files
|
# Rules for compiling Objective-C and Objective-C++ files
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if $(CMD.OBJC)
|
if $(CMD.OBJC)
|
||||||
{
|
{
|
||||||
|
|
||||||
rule ObjCRule
|
rule ObjCRule
|
||||||
{
|
{
|
||||||
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
||||||
ObjC $(object) : $(<) ;
|
ObjC $(object) : $(<) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType ObjCRule : .m ;
|
RegisterFileType ObjCRule : .m ;
|
||||||
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .m ;
|
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .m ;
|
||||||
|
|
||||||
rule ObjC
|
rule ObjC
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
|
|
||||||
CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;
|
CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;
|
||||||
OBJCFLAGS on $(<) += $(OBJCFLAGS) ;
|
OBJCFLAGS on $(<) += $(OBJCFLAGS) ;
|
||||||
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
||||||
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions ObjC
|
actions ObjC
|
||||||
{
|
{
|
||||||
$(CMD.OBJC) -c -o $(<) $(CCHDRS) $(CCFLAGS) $(OBJCFLAGS) $(CCDEFS) $(>)
|
$(CMD.OBJC) -c -o $(<) $(CCHDRS) $(CCFLAGS) $(OBJCFLAGS) $(CCDEFS) $(>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(CMD.OBJC++)
|
if $(CMD.OBJC++)
|
||||||
{
|
{
|
||||||
rule ObjC++Rule
|
rule ObjC++Rule
|
||||||
{
|
{
|
||||||
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
local object = [ DoObjectGrist [ PrefixSuffix $(>)_ : $(<) : $(SUFOBJ) ] ] ;
|
||||||
ObjC++ $(object) : $(<) ;
|
ObjC++ $(object) : $(<) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType ObjC++Rule : .mm .M ;
|
RegisterFileType ObjC++Rule : .mm .M ;
|
||||||
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .mm .M ;
|
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .mm .M ;
|
||||||
|
|
||||||
rule ObjC++
|
rule ObjC++
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
|
|
||||||
# Ugly hack: Apple's gcc4 does not accept -fvisibility-inlines-hidden in
|
# Ugly hack: Apple's gcc4 does not accept -fvisibility-inlines-hidden in
|
||||||
# Objective-C++ mode. Ideally, this issue should be resolved by the
|
# Objective-C++ mode. Ideally, this issue should be resolved by the
|
||||||
# configure script, but it does not currently distinguish between flags
|
# configure script, but it does not currently distinguish between flags
|
||||||
# intended for the C++ compiler and those intended for the Objective-C++
|
# intended for the C++ compiler and those intended for the Objective-C++
|
||||||
# compiler.
|
# compiler.
|
||||||
local rejects = -fvisibility-inlines-hidden ;
|
local rejects = -fvisibility-inlines-hidden ;
|
||||||
C++FLAGS on $(<) += [ Filter $(C++FLAGS) $(SUBDIRC++FLAGS) : $(rejects) ] ;
|
C++FLAGS on $(<) += [ Filter $(C++FLAGS) $(SUBDIRC++FLAGS) : $(rejects) ] ;
|
||||||
OBJC++FLAGS on $(<) += [ Filter $(OBJC++FLAGS) : $(rejects) ] ;
|
OBJC++FLAGS on $(<) += [ Filter $(OBJC++FLAGS) : $(rejects) ] ;
|
||||||
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
|
||||||
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions ObjC++
|
actions ObjC++
|
||||||
{
|
{
|
||||||
$(CMD.OBJC++) -c -o $(<) $(CCHDRS) $(C++FLAGS) $(OBJC++FLAGS) $(CCDEFS) $(>)
|
$(CMD.OBJC++) -c -o $(<) $(CCHDRS) $(C++FLAGS) $(OBJC++FLAGS) $(CCDEFS) $(>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,250 +1,250 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for compiling a set of sources to object files
|
# Rules for compiling a set of sources to object files
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
# These are slightly modified versions of the Object and Objects rules from
|
# These are slightly modified versions of the Object and Objects rules from
|
||||||
# jam. The problem with the original rules in Jambase is the handling of
|
# jam. The problem with the original rules in Jambase is the handling of
|
||||||
# custom file types. The solution with the UserObject rule is monolithic, you
|
# custom file types. The solution with the UserObject rule is monolithic, you
|
||||||
# can only have 1 such rule. Thus we construct a more flexible toolkit here
|
# can only have 1 such rule. Thus we construct a more flexible toolkit here
|
||||||
# which let's you register rules for certain filetypes.
|
# which let's you register rules for certain filetypes.
|
||||||
|
|
||||||
## RegisterFileType Rulename : extensions
|
## RegisterFileType Rulename : extensions
|
||||||
## Register a rule which is used to compile a filetype into object
|
## Register a rule which is used to compile a filetype into object
|
||||||
## files. The registered rule is called with the name of the
|
## files. The registered rule is called with the name of the
|
||||||
## sourcefile as argument and should return a list of objectfiles which are
|
## sourcefile as argument and should return a list of objectfiles which are
|
||||||
## created. You should set the grist of the object files by using the
|
## created. You should set the grist of the object files by using the
|
||||||
## DoObjectGrist function.
|
## DoObjectGrist function.
|
||||||
rule RegisterFileType
|
rule RegisterFileType
|
||||||
{
|
{
|
||||||
local suffix ;
|
local suffix ;
|
||||||
for suffix in $(>)
|
for suffix in $(>)
|
||||||
{
|
{
|
||||||
FILETYPE_$(suffix) = $(<) ;
|
FILETYPE_$(suffix) = $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## RegisterHeaderRule rulename : regexpattern : extensions
|
## RegisterHeaderRule rulename : regexpattern : extensions
|
||||||
## Registers a rule and a regular expression which will be used for header
|
## Registers a rule and a regular expression which will be used for header
|
||||||
## file scanning of the specified extensions.
|
## file scanning of the specified extensions.
|
||||||
rule RegisterHeaderRule
|
rule RegisterHeaderRule
|
||||||
{
|
{
|
||||||
local suffix ;
|
local suffix ;
|
||||||
for suffix in $(3)
|
for suffix in $(3)
|
||||||
{
|
{
|
||||||
HDRRULE_$(suffix) = $(<) ;
|
HDRRULE_$(suffix) = $(<) ;
|
||||||
HDRPATTERN_$(suffix) = $(>) ;
|
HDRPATTERN_$(suffix) = $(>) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## CompileObjects sources [: objectfileprefix]
|
## CompileObjects sources [: objectfileprefix]
|
||||||
## Compile a set of sourcefiles into objectfiles (extension: SUFOBJ,
|
## Compile a set of sourcefiles into objectfiles (extension: SUFOBJ,
|
||||||
## usually .o). This rule takes care of setting the SEARCH and LOCATE
|
## usually .o). This rule takes care of setting the SEARCH and LOCATE
|
||||||
## variables to the values of $(SEARCH_SOURCE) and $(LOCATE_TARGET).
|
## variables to the values of $(SEARCH_SOURCE) and $(LOCATE_TARGET).
|
||||||
## The Application, Plugin and Library rules already use this rule
|
## The Application, Plugin and Library rules already use this rule
|
||||||
## internally. You should only use this rule if you have to avoid the
|
## internally. You should only use this rule if you have to avoid the
|
||||||
## Application, Plugin or Library rules.
|
## Application, Plugin or Library rules.
|
||||||
rule CompileObjects
|
rule CompileObjects
|
||||||
{
|
{
|
||||||
local source ;
|
local source ;
|
||||||
local targets ;
|
local targets ;
|
||||||
|
|
||||||
# Search the source
|
# Search the source
|
||||||
SEARCH on $(<) = $(SEARCH_SOURCE) ;
|
SEARCH on $(<) = $(SEARCH_SOURCE) ;
|
||||||
|
|
||||||
for source in $(<)
|
for source in $(<)
|
||||||
{
|
{
|
||||||
# compile the sourcefile to targetfile
|
# compile the sourcefile to targetfile
|
||||||
targets += [ CompileObject $(source) : $(>) ] ;
|
targets += [ CompileObject $(source) : $(>) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# locate the targets
|
# locate the targets
|
||||||
MakeLocate $(targets) : $(LOCATE_TARGET) ;
|
MakeLocate $(targets) : $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
return $(targets) ;
|
return $(targets) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## PrefixSuffix [prefix] : filename : suffix
|
## PrefixSuffix [prefix] : filename : suffix
|
||||||
## Replaces the suffix of 'filename' with 'suffix' and prepends 'prefix' to
|
## Replaces the suffix of 'filename' with 'suffix' and prepends 'prefix' to
|
||||||
## it.
|
## it.
|
||||||
rule PrefixSuffix
|
rule PrefixSuffix
|
||||||
{
|
{
|
||||||
local prefix = $(1) ;
|
local prefix = $(1) ;
|
||||||
local name = $(2) ;
|
local name = $(2) ;
|
||||||
local suffix = $(3) ;
|
local suffix = $(3) ;
|
||||||
if ! $(prefix) { prefix = "" ; }
|
if ! $(prefix) { prefix = "" ; }
|
||||||
return $(name:B=$(prefix)$(name:B):S=$(suffix)) ;
|
return $(name:B=$(prefix)$(name:B):S=$(suffix)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private part
|
# private part
|
||||||
|
|
||||||
# helper rule: Compiles a source file to an object file. Does header file
|
# helper rule: Compiles a source file to an object file. Does header file
|
||||||
# scanning, sets LOCATE and SEARCH for source and target, grists the files
|
# scanning, sets LOCATE and SEARCH for source and target, grists the files
|
||||||
# with the current subdir and searches for the correct registered rule.
|
# with the current subdir and searches for the correct registered rule.
|
||||||
rule CompileObject
|
rule CompileObject
|
||||||
{
|
{
|
||||||
# handle #includes for source: Jam scans for headers with
|
# handle #includes for source: Jam scans for headers with
|
||||||
# the regexp pattern $(HDRSCAN) and then invokes $(HDRRULE)
|
# the regexp pattern $(HDRSCAN) and then invokes $(HDRRULE)
|
||||||
# with the scanned file as the target and the found headers
|
# with the scanned file as the target and the found headers
|
||||||
# as the sources. HDRSEARCH is the value of SEARCH used for
|
# as the sources. HDRSEARCH is the value of SEARCH used for
|
||||||
# the found header files. Finally, if jam must deal with
|
# the found header files. Finally, if jam must deal with
|
||||||
# header files of the same name in different directories,
|
# header files of the same name in different directories,
|
||||||
# they can be distinguished with HDRGRIST.
|
# they can be distinguished with HDRGRIST.
|
||||||
|
|
||||||
# $(SEARCH_SOURCE:E) is where cc first looks for #include
|
# $(SEARCH_SOURCE:E) is where cc first looks for #include
|
||||||
# "foo.h" files. If the source file is in a distant directory,
|
# "foo.h" files. If the source file is in a distant directory,
|
||||||
# look there. Else, look in "" (the current directory).
|
# look there. Else, look in "" (the current directory).
|
||||||
if $(HDRRULE_$(<:S))
|
if $(HDRRULE_$(<:S))
|
||||||
{
|
{
|
||||||
HDRSEARCH on $(<) =
|
HDRSEARCH on $(<) =
|
||||||
$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
|
$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
|
||||||
HDRGRIST on $(<) = $(HDRGRIST) ;
|
HDRGRIST on $(<) = $(HDRGRIST) ;
|
||||||
HDRRULE on $(<) = $(HDRRULE_$(<:S)) ;
|
HDRRULE on $(<) = $(HDRRULE_$(<:S)) ;
|
||||||
HDRSCAN on $(<) = $(HDRPATTERN_$(<:S)) ;
|
HDRSCAN on $(<) = $(HDRPATTERN_$(<:S)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local targets ;
|
local targets ;
|
||||||
# Invoke filetype specific rule
|
# Invoke filetype specific rule
|
||||||
if $(FILETYPE_$(<:S))
|
if $(FILETYPE_$(<:S))
|
||||||
{
|
{
|
||||||
targets = [ $(FILETYPE_$(<:S)) $(<) : $(>) ] ;
|
targets = [ $(FILETYPE_$(<:S)) $(<) : $(>) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo Warning: no rules for file type $(<:S) defined (at file $(<)). ;
|
echo Warning: no rules for file type $(<:S) defined (at file $(<)). ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(targets)
|
if $(targets)
|
||||||
{
|
{
|
||||||
# construct clean target
|
# construct clean target
|
||||||
Clean clean : $(targets) ;
|
Clean clean : $(targets) ;
|
||||||
|
|
||||||
# Save HDRS for -I$(HDRS) on compile.
|
# Save HDRS for -I$(HDRS) on compile.
|
||||||
# We shouldn't need -I$(SEARCH_SOURCE) as cc can find headers
|
# We shouldn't need -I$(SEARCH_SOURCE) as cc can find headers
|
||||||
# in the .c file's directory, but generated .c files (from
|
# in the .c file's directory, but generated .c files (from
|
||||||
# yacc, lex, etc) are located in $(LOCATE_TARGET), possibly
|
# yacc, lex, etc) are located in $(LOCATE_TARGET), possibly
|
||||||
# different from $(SEARCH_SOURCE).
|
# different from $(SEARCH_SOURCE).
|
||||||
HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;
|
HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;
|
||||||
|
|
||||||
# propagate target specific-defines
|
# propagate target specific-defines
|
||||||
DEFINES on $(<) += $(DEFINES) ;
|
DEFINES on $(<) += $(DEFINES) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $(targets) ;
|
return $(targets) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## HeaderRule source : headers
|
## HeaderRule source : headers
|
||||||
## This rule is the default header rule used by the objects rules. You
|
## This rule is the default header rule used by the objects rules. You
|
||||||
## might register custom rules with the RegisterHeaderRule rule.
|
## might register custom rules with the RegisterHeaderRule rule.
|
||||||
rule HeaderRule
|
rule HeaderRule
|
||||||
{
|
{
|
||||||
# N.B. This rule is called during binding, potentially after
|
# N.B. This rule is called during binding, potentially after
|
||||||
# the fate of many targets has been determined, and must be
|
# the fate of many targets has been determined, and must be
|
||||||
# used with caution: don't add dependencies to unrelated
|
# used with caution: don't add dependencies to unrelated
|
||||||
# targets, and don't set variables on $(<).
|
# targets, and don't set variables on $(<).
|
||||||
|
|
||||||
# Tell Jam that anything depending on $(<) also depends on $(>),
|
# Tell Jam that anything depending on $(<) also depends on $(>),
|
||||||
# set SEARCH so Jam can find the headers, but then say we don't
|
# set SEARCH so Jam can find the headers, but then say we don't
|
||||||
# care if we can't actually find the headers (they may have been
|
# care if we can't actually find the headers (they may have been
|
||||||
# within ifdefs),
|
# within ifdefs),
|
||||||
local s = $(>:G=$(HDRGRIST:E)) ;
|
local s = $(>:G=$(HDRGRIST:E)) ;
|
||||||
|
|
||||||
Includes $(<) : $(s) ;
|
Includes $(<) : $(s) ;
|
||||||
SEARCH on $(s) = $(HDRSEARCH) ;
|
SEARCH on $(s) = $(HDRSEARCH) ;
|
||||||
NoCare $(s) ;
|
NoCare $(s) ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(s)
|
for i in $(s)
|
||||||
{
|
{
|
||||||
HDRGRIST on $(i) = $(HDRGRIST) ;
|
HDRGRIST on $(i) = $(HDRGRIST) ;
|
||||||
HDRSEARCH on $(i) = $(HDRSEARCH) ;
|
HDRSEARCH on $(i) = $(HDRSEARCH) ;
|
||||||
HDRRULE on $(i) = [ on $(<) GetVar HDRRULE ] ;
|
HDRRULE on $(i) = [ on $(<) GetVar HDRRULE ] ;
|
||||||
HDRSCAN on $(i) = [ on $(<) GetVar HDRPATTERN ] ;
|
HDRSCAN on $(i) = [ on $(<) GetVar HDRPATTERN ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(JAMVERSION) < 2.5
|
if $(JAMVERSION) < 2.5
|
||||||
{
|
{
|
||||||
## XXX XXX XXX a bug in jam 2.4 let's the version above fail. I'll let this
|
## XXX XXX XXX a bug in jam 2.4 let's the version above fail. I'll let this
|
||||||
## non-optimal version in here until jam 2.5 is out.
|
## non-optimal version in here until jam 2.5 is out.
|
||||||
|
|
||||||
rule HeaderRule
|
rule HeaderRule
|
||||||
{
|
{
|
||||||
local s = $(>:G=$(HDRGRIST:E)) ;
|
local s = $(>:G=$(HDRGRIST:E)) ;
|
||||||
|
|
||||||
Includes $(<) : $(s) ;
|
Includes $(<) : $(s) ;
|
||||||
SEARCH on $(s) = $(HDRSEARCH) ;
|
SEARCH on $(s) = $(HDRSEARCH) ;
|
||||||
NoCare $(s) ;
|
NoCare $(s) ;
|
||||||
|
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(s)
|
for i in $(s)
|
||||||
{
|
{
|
||||||
if $(HDRRULE_$(i:S))
|
if $(HDRRULE_$(i:S))
|
||||||
{
|
{
|
||||||
HDRGRIST on $(i) = $(HDRGRIST) ;
|
HDRGRIST on $(i) = $(HDRGRIST) ;
|
||||||
HDRSEARCH on $(i) = $(HDRSEARCH) ;
|
HDRSEARCH on $(i) = $(HDRSEARCH) ;
|
||||||
HDRRULE on $(i) = $(HDRRULE_$(i:S)) ;
|
HDRRULE on $(i) = $(HDRRULE_$(i:S)) ;
|
||||||
HDRSCAN on $(i) = $(HDRPATTERN_$(i:S)) ;
|
HDRSCAN on $(i) = $(HDRPATTERN_$(i:S)) ;
|
||||||
}
|
}
|
||||||
else if $(JAM_DEBUG)
|
else if $(JAM_DEBUG)
|
||||||
{
|
{
|
||||||
#echo "No Header rule for $(i:S) file $(i) " ;
|
#echo "No Header rule for $(i:S) file $(i) " ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} # end of if $(JAMVERSION) < 1.5
|
} # end of if $(JAMVERSION) < 1.5
|
||||||
|
|
||||||
# Dummy rule: .o files are used as is.
|
# Dummy rule: .o files are used as is.
|
||||||
rule UseObjectFile
|
rule UseObjectFile
|
||||||
{
|
{
|
||||||
return $(<) ;
|
return $(<) ;
|
||||||
}
|
}
|
||||||
RegisterFileType UseObjectFile : .o ;
|
RegisterFileType UseObjectFile : .o ;
|
||||||
|
|
||||||
# Ignore header files.
|
# Ignore header files.
|
||||||
rule UseHeaderFile
|
rule UseHeaderFile
|
||||||
{
|
{
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
RegisterFileType UseHeaderFile : .h .hpp ;
|
RegisterFileType UseHeaderFile : .h .hpp ;
|
||||||
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .h .hpp .inc ;
|
RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .h .hpp .inc ;
|
||||||
|
|
||||||
# Generates a grist suitable for output objects based on
|
# Generates a grist suitable for output objects based on
|
||||||
# SUBVARIANT and SUBDIR variable.
|
# SUBVARIANT and SUBDIR variable.
|
||||||
rule DoObjectGrist
|
rule DoObjectGrist
|
||||||
{
|
{
|
||||||
return $(<:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) ;
|
return $(<:G=$(SOURCE_GRIST:E)!$(SUBVARIANT:J=!)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generates a grist suitable for source files based on SUBDIR variable.
|
# Generates a grist suitable for source files based on SUBDIR variable.
|
||||||
# Doesn't change an existing grist.
|
# Doesn't change an existing grist.
|
||||||
rule DoSourceGrist
|
rule DoSourceGrist
|
||||||
{
|
{
|
||||||
local gristed ;
|
local gristed ;
|
||||||
for g in $(<)
|
for g in $(<)
|
||||||
{
|
{
|
||||||
local grist ;
|
local grist ;
|
||||||
if $(g:G)
|
if $(g:G)
|
||||||
{
|
{
|
||||||
grist = $(g:G) ;
|
grist = $(g:G) ;
|
||||||
}
|
}
|
||||||
gristed += $(g:G=$(grist:E=$(SOURCE_GRIST:E))) ;
|
gristed += $(g:G=$(grist:E=$(SOURCE_GRIST:E))) ;
|
||||||
}
|
}
|
||||||
return $(gristed) ;
|
return $(gristed) ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rule for setting options at targets
|
# Rule for setting options at targets
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private rule - please specify the options in Application, Plugin or Library
|
# private rule - please specify the options in Application, Plugin or Library
|
||||||
# rule and don't use this rule here directly.
|
# rule and don't use this rule here directly.
|
||||||
|
|
||||||
## CheckOptions candidates : Options : target
|
## CheckOptions candidates : Options : target
|
||||||
rule CheckOptions
|
rule CheckOptions
|
||||||
{
|
{
|
||||||
local i ;
|
local i ;
|
||||||
|
|
||||||
for i in $(>)
|
for i in $(>)
|
||||||
{
|
{
|
||||||
if ! [ IsElem $(i) : $(<) ]
|
if ! [ IsElem $(i) : $(<) ]
|
||||||
{
|
{
|
||||||
echo "WARNING: Unknown option $(i) specified at $(3)." ;
|
echo "WARNING: Unknown option $(i) specified at $(3)." ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,179 +1,179 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for plugin creation
|
# Rules for plugin creation
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
SUFMETA ?= .csplugin ;
|
SUFMETA ?= .csplugin ;
|
||||||
GRISTMETA ?= pluginmeta ;
|
GRISTMETA ?= pluginmeta ;
|
||||||
|
|
||||||
## Plugin pluginname : sources [ : options ]
|
## Plugin pluginname : sources [ : options ]
|
||||||
## Build a plugin out of sourcefiles. All sourcefiles will be passed
|
## Build a plugin out of sourcefiles. All sourcefiles will be passed
|
||||||
## to the Objects rule which tries to compile them into object-files. You
|
## to the Objects rule which tries to compile them into object-files. You
|
||||||
## can create rules for your own filetypes with the UserObject rule. Header
|
## can create rules for your own filetypes with the UserObject rule. Header
|
||||||
## files will just be ignored. They are only used for MSVC projectfile
|
## files will just be ignored. They are only used for MSVC projectfile
|
||||||
## generator.
|
## generator.
|
||||||
## You can specify the noinstall option if you don't want that an install
|
## You can specify the noinstall option if you don't want that an install
|
||||||
## target is created.
|
## target is created.
|
||||||
## Options:
|
## Options:
|
||||||
## noinstall: Don't setup a default installation target.
|
## noinstall: Don't setup a default installation target.
|
||||||
## independent: The target will not be made a dependency of the plugins
|
## independent: The target will not be made a dependency of the plugins
|
||||||
## and all target.
|
## and all target.
|
||||||
## nohelp: Do not invoke Help for this target.
|
## nohelp: Do not invoke Help for this target.
|
||||||
## notest: Do not set up unit-testing support for this target.
|
## notest: Do not set up unit-testing support for this target.
|
||||||
rule Plugin
|
rule Plugin
|
||||||
{
|
{
|
||||||
# check options
|
# check options
|
||||||
CheckOptions noinstall independent nohelp notest : $(3) : $(<) ;
|
CheckOptions noinstall independent nohelp notest : $(3) : $(<) ;
|
||||||
|
|
||||||
local metafile ;
|
local metafile ;
|
||||||
metafile = [ FAppendSuffix $(<) : $(SUFMETA) ] ;
|
metafile = [ FAppendSuffix $(<) : $(SUFMETA) ] ;
|
||||||
SEARCH on $(metafile) = $(SEARCH_SOURCE) ;
|
SEARCH on $(metafile) = $(SEARCH_SOURCE) ;
|
||||||
|
|
||||||
local target = [ ConstructPluginTarget $(<) : $(3) ] ;
|
local target = [ ConstructPluginTarget $(<) : $(3) ] ;
|
||||||
local sources = [ DoSourceGrist $(>) ] ;
|
local sources = [ DoSourceGrist $(>) ] ;
|
||||||
local objects = [ CompileObjects $(sources) ] ;
|
local objects = [ CompileObjects $(sources) ] ;
|
||||||
|
|
||||||
$(<)_TYPE = plugin ;
|
$(<)_TYPE = plugin ;
|
||||||
$(<)_OBJECTS = $(objects) ;
|
$(<)_OBJECTS = $(objects) ;
|
||||||
$(<)_SOURCES = $(sources) ;
|
$(<)_SOURCES = $(sources) ;
|
||||||
$(<)_TARGET = $(target) ;
|
$(<)_TARGET = $(target) ;
|
||||||
$(<)_METAFILE = $(metafile) ;
|
$(<)_METAFILE = $(metafile) ;
|
||||||
|
|
||||||
# Create a target for eventual static linking
|
# Create a target for eventual static linking
|
||||||
if ! $(NO_STATIC_LINKING)
|
if ! $(NO_STATIC_LINKING)
|
||||||
{
|
{
|
||||||
SubVariant static ;
|
SubVariant static ;
|
||||||
local staticreginfoobject = [ BuildStaticRegFile $(<) : $(statictarget) ] ;
|
local staticreginfoobject = [ BuildStaticRegFile $(<) : $(statictarget) ] ;
|
||||||
|
|
||||||
# Add objects to the list of candidates for potential inclusion in a
|
# Add objects to the list of candidates for potential inclusion in a
|
||||||
# monolithic static library containing objects for all plugins (useful for
|
# monolithic static library containing objects for all plugins (useful for
|
||||||
# statically linking the plugins into an application if the client so
|
# statically linking the plugins into an application if the client so
|
||||||
# desires).
|
# desires).
|
||||||
local staticobjects = [ CompileObjects $(sources) : $(<) ] ;
|
local staticobjects = [ CompileObjects $(sources) : $(<) ] ;
|
||||||
|
|
||||||
local obj_remain = $(objects) ;
|
local obj_remain = $(objects) ;
|
||||||
local staticobj_remain = $(staticobjects) ;
|
local staticobj_remain = $(staticobjects) ;
|
||||||
|
|
||||||
while $(obj_remain)
|
while $(obj_remain)
|
||||||
{
|
{
|
||||||
local obj = $(obj_remain[1]) ;
|
local obj = $(obj_remain[1]) ;
|
||||||
local staticobj = $(staticobj_remain[1]) ;
|
local staticobj = $(staticobj_remain[1]) ;
|
||||||
|
|
||||||
STATICPLUGINS.OBJECTS.$(staticobj) = $(obj) ;
|
STATICPLUGINS.OBJECTS.$(staticobj) = $(obj) ;
|
||||||
|
|
||||||
obj_remain = $(obj_remain[2-]) ;
|
obj_remain = $(obj_remain[2-]) ;
|
||||||
staticobj_remain = $(staticobj_remain[2-]) ;
|
staticobj_remain = $(staticobj_remain[2-]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
MakeLocate $(staticobjects) : $(LOCATE_TARGET) ;
|
MakeLocate $(staticobjects) : $(LOCATE_TARGET) ;
|
||||||
STATICPLUGINS.OBJECTS.$(<) += $(staticreginfoobject) ;
|
STATICPLUGINS.OBJECTS.$(<) += $(staticreginfoobject) ;
|
||||||
STATICPLUGINS.OBJECTS.$(<) += $(staticobjects) ;
|
STATICPLUGINS.OBJECTS.$(<) += $(staticobjects) ;
|
||||||
STATICPLUGINS.SUBTARGETS += $(<) ;
|
STATICPLUGINS.SUBTARGETS += $(<) ;
|
||||||
|
|
||||||
SubVariant ;
|
SubVariant ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# so 'jam foo' works when it's really foo.dll (Windows) or foo.csbundle
|
# so 'jam foo' works when it's really foo.dll (Windows) or foo.csbundle
|
||||||
# (MacOS/X)
|
# (MacOS/X)
|
||||||
if $(target) != $(<)
|
if $(target) != $(<)
|
||||||
{
|
{
|
||||||
Depends $(<) : $(target) ;
|
Depends $(<) : $(target) ;
|
||||||
NotFile $(<) ;
|
NotFile $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! [ IsElem independent : $(3) ]
|
if ! [ IsElem independent : $(3) ]
|
||||||
{
|
{
|
||||||
Depends plugins : $(<) ;
|
Depends plugins : $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# construct install target
|
# construct install target
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
SystemInstallPlugin $(target) ;
|
SystemInstallPlugin $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Link
|
# Link
|
||||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||||
SystemLinkPlugin $(<) : $(objects) : $(3) ;
|
SystemLinkPlugin $(<) : $(objects) : $(3) ;
|
||||||
|
|
||||||
local cleanextra ;
|
local cleanextra ;
|
||||||
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
if $(LINK.DEBUG.INFO.SEPARATE) = "yes"
|
||||||
{
|
{
|
||||||
local debugfile = [ SplitDebugInfo $(target) ] ;
|
local debugfile = [ SplitDebugInfo $(target) ] ;
|
||||||
cleanextra += $(debugfile) ;
|
cleanextra += $(debugfile) ;
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
NoCare $(debugfile) ;
|
NoCare $(debugfile) ;
|
||||||
Depends install_plugin : [ DoInstall $(debugfile) : $(plugindir) : $(INSTALL_DATA) ] ;
|
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
|
# create target clean rule
|
||||||
Always $(<)clean ;
|
Always $(<)clean ;
|
||||||
NotFile $(<)clean ;
|
NotFile $(<)clean ;
|
||||||
Clean $(<)clean : $(objects) $(cleanextra) ;
|
Clean $(<)clean : $(objects) $(cleanextra) ;
|
||||||
Clean clean : $(cleanextra) ;
|
Clean clean : $(cleanextra) ;
|
||||||
|
|
||||||
if ! [ IsElem nohelp : $(3) ]
|
if ! [ IsElem nohelp : $(3) ]
|
||||||
{
|
{
|
||||||
local desc = [ Description $(<) ] ;
|
local desc = [ Description $(<) ] ;
|
||||||
if ! $(desc) { desc = "$(<) plugin" ; }
|
if ! $(desc) { desc = "$(<) plugin" ; }
|
||||||
Help $(<) : "Build the $(desc)" ;
|
Help $(<) : "Build the $(desc)" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! [ IsElem notest : $(options) ]
|
if ! [ IsElem notest : $(options) ]
|
||||||
{
|
{
|
||||||
# @@@ Disabled for now; see docs/todo_jam.txt
|
# @@@ Disabled for now; see docs/todo_jam.txt
|
||||||
#UnitTest $(<) ;
|
#UnitTest $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# private rules
|
# private rules
|
||||||
|
|
||||||
# PluginMetaData pluginname : metafile [ : options ]
|
# PluginMetaData pluginname : metafile [ : options ]
|
||||||
# Copy a plugin's meta file so that it resides alongside the generated
|
# Copy a plugin's meta file so that it resides alongside the generated
|
||||||
# plugin module. This utility rule may be used by SystemLinkPlugin rules
|
# plugin module. This utility rule may be used by SystemLinkPlugin rules
|
||||||
# which employ the default behavior of having a plugin's meta-data file
|
# which employ the default behavior of having a plugin's meta-data file
|
||||||
# reside alongside the plugin executable (as opposed to bundling the
|
# reside alongside the plugin executable (as opposed to bundling the
|
||||||
# metadata directly into the plugin).
|
# metadata directly into the plugin).
|
||||||
# Options:
|
# Options:
|
||||||
# noinstall: Don't setup a default installation target.
|
# noinstall: Don't setup a default installation target.
|
||||||
rule PluginMetaData
|
rule PluginMetaData
|
||||||
{
|
{
|
||||||
local target = $(>:G=$(GRISTMETA)) ;
|
local target = $(>:G=$(GRISTMETA)) ;
|
||||||
Depends $(<) : $(target) ;
|
Depends $(<) : $(target) ;
|
||||||
Depends $(target) : $(>) ;
|
Depends $(target) : $(>) ;
|
||||||
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
MakeLocate $(target) : $(LOCATE.TARGETS) ;
|
||||||
Copy $(target) : $(>) ;
|
Copy $(target) : $(>) ;
|
||||||
Clean clean : $(target) ;
|
Clean clean : $(target) ;
|
||||||
Clean $(<)clean : $(target) ;
|
Clean $(<)clean : $(target) ;
|
||||||
|
|
||||||
if ! [ IsElem noinstall : $(3) ]
|
if ! [ IsElem noinstall : $(3) ]
|
||||||
{
|
{
|
||||||
Depends install_plugin : [ DoInstall $(target) : $(plugindir) ] ;
|
Depends install_plugin : [ DoInstall $(target) : $(plugindir) ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Construct pseudo target plugins
|
# Construct pseudo target plugins
|
||||||
Depends exe : plugins ;
|
Depends exe : plugins ;
|
||||||
NotFile plugins ;
|
NotFile plugins ;
|
||||||
Help plugins : "Build all plugin modules" ;
|
Help plugins : "Build all plugin modules" ;
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
#==============================================================================
|
#==============================================================================
|
||||||
# Generic property-bag mechanism.
|
# Generic property-bag mechanism.
|
||||||
# Copyright (C) 2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C) 2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
|
|
||||||
# Property bag : name
|
# Property bag : name
|
||||||
# Returns the value of property 'name' in container 'bag' if present, else
|
# Returns the value of property 'name' in container 'bag' if present, else
|
||||||
# returns a null value. 'bag' and 'name' should be simple identifiers
|
# returns a null value. 'bag' and 'name' should be simple identifiers
|
||||||
# composed of alphanumeric characters and underscore, and with an alphabetic
|
# composed of alphanumeric characters and underscore, and with an alphabetic
|
||||||
# or an underscore as the first character.
|
# or an underscore as the first character.
|
||||||
rule Property
|
rule Property
|
||||||
{
|
{
|
||||||
local p = [ _PropertyName $(<) : $(>) ] ;
|
local p = [ _PropertyName $(<) : $(>) ] ;
|
||||||
return $($(p)) ;
|
return $($(p)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# SetProperty bag : name [ : value ]
|
# SetProperty bag : name [ : value ]
|
||||||
# Add property 'name' to container 'bag'. If 'value' is not provided, sets
|
# Add property 'name' to container 'bag'. If 'value' is not provided, sets
|
||||||
# the property to "true".
|
# the property to "true".
|
||||||
rule SetProperty
|
rule SetProperty
|
||||||
{
|
{
|
||||||
local p = [ _PropertyName $(<) : $(>) ] ;
|
local p = [ _PropertyName $(<) : $(>) ] ;
|
||||||
local v = $(3) ;
|
local v = $(3) ;
|
||||||
if ! $(v) { v = "true" ; }
|
if ! $(v) { v = "true" ; }
|
||||||
$(p) = $(v) ;
|
$(p) = $(v) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ClearProperty bag : name
|
# ClearProperty bag : name
|
||||||
# Remove property 'name' from container 'bag'.
|
# Remove property 'name' from container 'bag'.
|
||||||
rule ClearProperty
|
rule ClearProperty
|
||||||
{
|
{
|
||||||
local p = [ _PropertyName $(<) : $(>) ] ;
|
local p = [ _PropertyName $(<) : $(>) ] ;
|
||||||
$(p) = "" ;
|
$(p) = "" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Private utilitiy rules.
|
# Private utilitiy rules.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
rule _PropertyName
|
rule _PropertyName
|
||||||
{
|
{
|
||||||
return "__property_$(<)_$(>)" ;
|
return "__property_$(<)_$(>)" ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,109 +1,109 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for handling additional resources.
|
# Rules for handling additional resources.
|
||||||
# Platform-specific Jam files may override these if needed.
|
# Platform-specific Jam files may override these if needed.
|
||||||
#
|
#
|
||||||
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
## ApplicationIconDefault platform : type [ : icon [ : pathcomponents ]]
|
## ApplicationIconDefault platform : type [ : icon [ : pathcomponents ]]
|
||||||
## If invoked with three or more arguments, specifies the default icon for
|
## If invoked with three or more arguments, specifies the default icon for
|
||||||
## applications of the specified type for the given platform, which may be
|
## applications of the specified type for the given platform, which may be
|
||||||
## 'macosx', 'win32', or 'unix'. Type should be 'all', 'gui', or 'console'.
|
## 'macosx', 'win32', or 'unix'. Type should be 'all', 'gui', or 'console'.
|
||||||
## If pathcomponents is omitted, SEARCH_SOURCE is used. This setting can be
|
## If pathcomponents is omitted, SEARCH_SOURCE is used. This setting can be
|
||||||
## overriden for an individual application with the ApplicationIcon rule.
|
## overriden for an individual application with the ApplicationIcon rule.
|
||||||
## This rule must be invoked before invoking any Application rules if it is
|
## This rule must be invoked before invoking any Application rules if it is
|
||||||
## to have any effect. If invoked with two arguments, returns the default
|
## to have any effect. If invoked with two arguments, returns the default
|
||||||
## icon (if any) for the given platform and type.
|
## icon (if any) for the given platform and type.
|
||||||
rule ApplicationIconDefault
|
rule ApplicationIconDefault
|
||||||
{
|
{
|
||||||
local platform = $(1) ;
|
local platform = $(1) ;
|
||||||
local type = $(2) ;
|
local type = $(2) ;
|
||||||
local icon = $(3) ;
|
local icon = $(3) ;
|
||||||
local iconpath = $(4) ;
|
local iconpath = $(4) ;
|
||||||
local key = default_$(platform)_$(type) ;
|
local key = default_$(platform)_$(type) ;
|
||||||
|
|
||||||
if $(icon)
|
if $(icon)
|
||||||
{
|
{
|
||||||
SetProperty appicon : $(key) : $(icon) ;
|
SetProperty appicon : $(key) : $(icon) ;
|
||||||
if $(iconpath)
|
if $(iconpath)
|
||||||
{
|
{
|
||||||
SEARCH on $(icon) = [ ConcatDirs $(iconpath) ] ;
|
SEARCH on $(icon) = [ ConcatDirs $(iconpath) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SEARCH on $(icon) = $(SEARCH_SOURCE) ;
|
SEARCH on $(icon) = $(SEARCH_SOURCE) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local result = [ Property appicon : $(key) ] ;
|
local result = [ Property appicon : $(key) ] ;
|
||||||
if ! $(result) && $(type) != all
|
if ! $(result) && $(type) != all
|
||||||
{
|
{
|
||||||
result = [ Property appicon : default_$(platform)_all ] ;
|
result = [ Property appicon : default_$(platform)_all ] ;
|
||||||
}
|
}
|
||||||
return $(result) ;
|
return $(result) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## ApplicationIcon platform : basename [ : icon [ : pathcomponents ]]
|
## ApplicationIcon platform : basename [ : icon [ : pathcomponents ]]
|
||||||
## If invoked with three or more arguments, specifies the icon for the
|
## If invoked with three or more arguments, specifies the icon for the
|
||||||
## application given by basename for the indicated platform, which may be
|
## application given by basename for the indicated platform, which may be
|
||||||
## 'macosx', 'win32', or 'unix'. If pathcomponents is omitted,
|
## 'macosx', 'win32', or 'unix'. If pathcomponents is omitted,
|
||||||
## SEARCH_SOURCE is used. If this rule is not invoked, then the icon
|
## SEARCH_SOURCE is used. If this rule is not invoked, then the icon
|
||||||
## specified via ApplicationIconDefault is used, if any. This rule must be
|
## specified via ApplicationIconDefault is used, if any. This rule must be
|
||||||
## invoked before the Application rule to which this icon will apply. If
|
## invoked before the Application rule to which this icon will apply. If
|
||||||
## invoked with two arguments, returns the icon (if any) explicitly
|
## invoked with two arguments, returns the icon (if any) explicitly
|
||||||
## registered for basename for the given platform.
|
## registered for basename for the given platform.
|
||||||
rule ApplicationIcon
|
rule ApplicationIcon
|
||||||
{
|
{
|
||||||
local platform = $(1) ;
|
local platform = $(1) ;
|
||||||
local target = $(2) ;
|
local target = $(2) ;
|
||||||
local icon = $(3) ;
|
local icon = $(3) ;
|
||||||
local iconpath = $(4) ;
|
local iconpath = $(4) ;
|
||||||
local key = app_$(platform)_$(target) ;
|
local key = app_$(platform)_$(target) ;
|
||||||
|
|
||||||
if $(icon)
|
if $(icon)
|
||||||
{
|
{
|
||||||
SetProperty appicon : $(key) : $(icon) ;
|
SetProperty appicon : $(key) : $(icon) ;
|
||||||
if $(iconpath)
|
if $(iconpath)
|
||||||
{
|
{
|
||||||
SEARCH on $(icon) = [ ConcatDirs $(iconpath) ] ;
|
SEARCH on $(icon) = [ ConcatDirs $(iconpath) ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SEARCH on $(icon) = $(SEARCH_SOURCE) ;
|
SEARCH on $(icon) = $(SEARCH_SOURCE) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# An ugly but effective way to detect incorrect usage.
|
# An ugly but effective way to detect incorrect usage.
|
||||||
if $($(target)_TARGET)
|
if $($(target)_TARGET)
|
||||||
{
|
{
|
||||||
Echo "Warning: `ApplicationIcon:$(target):$(icon)' incorrectly invoked"
|
Echo "Warning: `ApplicationIcon:$(target):$(icon)' incorrectly invoked"
|
||||||
"after Application rule." ;
|
"after Application rule." ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [ Property appicon : $(key) ] ;
|
return [ Property appicon : $(key) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## Win32Resource basename : rcfiles
|
## Win32Resource basename : rcfiles
|
||||||
## Specify .rc files for the target known as basename. The .rc files should
|
## Specify .rc files for the target known as basename. The .rc files should
|
||||||
## already have SEARCH set appropriately.
|
## already have SEARCH set appropriately.
|
||||||
rule Win32Resource { }
|
rule Win32Resource { }
|
||||||
|
|
||||||
## Win32RcFlags basename : rcfiles
|
## Win32RcFlags basename : rcfiles
|
||||||
## Specify flags passed to the resource compiler when compiling resources
|
## Specify flags passed to the resource compiler when compiling resources
|
||||||
## for the target known as basename.
|
## for the target known as basename.
|
||||||
rule Win32RcFlags { }
|
rule Win32RcFlags { }
|
||||||
|
|||||||
@@ -1,353 +1,353 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Utility rules for static builds without plugins
|
# Utility rules for static builds without plugins
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
# all private
|
# all private
|
||||||
|
|
||||||
rule GenerateStaticPluginBoilerplate
|
rule GenerateStaticPluginBoilerplate
|
||||||
{
|
{
|
||||||
ResponseFile $(<) :
|
ResponseFile $(<) :
|
||||||
"// This file is automatically generated."
|
"// This file is automatically generated."
|
||||||
"#include \"cssysdef.h\""
|
"#include \"cssysdef.h\""
|
||||||
"#include \"csutil/scf.h\""
|
"#include \"csutil/scf.h\""
|
||||||
""
|
""
|
||||||
"// Put static linking stuff into own section."
|
"// Put static linking stuff into own section."
|
||||||
"// The idea is that this allows the section to be swapped out but not"
|
"// The idea is that this allows the section to be swapped out but not"
|
||||||
"// swapped in again b/c something else in it was needed."
|
"// swapped in again b/c something else in it was needed."
|
||||||
"#if !defined(CS_DEBUG) && defined(CS_COMPILER_MSVC)"
|
"#if !defined(CS_DEBUG) && defined(CS_COMPILER_MSVC)"
|
||||||
"#pragma const_seg(\".CSmetai\")"
|
"#pragma const_seg(\".CSmetai\")"
|
||||||
"#pragma comment(linker, \"/section:.CSmetai,r\")"
|
"#pragma comment(linker, \"/section:.CSmetai,r\")"
|
||||||
"#pragma code_seg(\".CSmeta\")"
|
"#pragma code_seg(\".CSmeta\")"
|
||||||
"#pragma comment(linker, \"/section:.CSmeta,er\")"
|
"#pragma comment(linker, \"/section:.CSmeta,er\")"
|
||||||
"#pragma comment(linker, \"/merge:.CSmetai=.CSmeta\")"
|
"#pragma comment(linker, \"/merge:.CSmetai=.CSmeta\")"
|
||||||
"#endif"
|
"#endif"
|
||||||
: notfile ;
|
: notfile ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule GenerateStaticPluginInstantiation
|
rule GenerateStaticPluginInstantiation
|
||||||
{
|
{
|
||||||
GenerateStaticPluginBoilerplate $(<) ;
|
GenerateStaticPluginBoilerplate $(<) ;
|
||||||
ResponseFile $(<) : "SCF_USE_STATIC_PLUGIN($(>:B))" : notfile ;
|
ResponseFile $(<) : "SCF_USE_STATIC_PLUGIN($(>:B))" : notfile ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule GenerateStaticPluginRegistration
|
rule GenerateStaticPluginRegistration
|
||||||
{
|
{
|
||||||
GenerateStaticPluginBoilerplate $(<) ;
|
GenerateStaticPluginBoilerplate $(<) ;
|
||||||
GenerateStaticPluginRegistration1 $(<) : $(>) ;
|
GenerateStaticPluginRegistration1 $(<) : $(>) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule BuildStaticRegFile
|
rule BuildStaticRegFile
|
||||||
{
|
{
|
||||||
local statictarget = $(>) ;
|
local statictarget = $(>) ;
|
||||||
# prepare source files
|
# prepare source files
|
||||||
local sources = [ DoObjectGrist _$(<)_static_reg.cpp ] ;
|
local sources = [ DoObjectGrist _$(<)_static_reg.cpp ] ;
|
||||||
local object = [ CompileObject $(sources) ] ;
|
local object = [ CompileObject $(sources) ] ;
|
||||||
|
|
||||||
MakeLocate $(sources) : $(LOCATE_TARGET) ;
|
MakeLocate $(sources) : $(LOCATE_TARGET) ;
|
||||||
MakeLocate $(object) : $(LOCATE_TARGET) ;
|
MakeLocate $(object) : $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
local metalist metafile i ;
|
local metalist metafile i ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
metafile = $($(i)_METAFILE) ;
|
metafile = $($(i)_METAFILE) ;
|
||||||
metalist += $(metafile) ;
|
metalist += $(metafile) ;
|
||||||
Depends $(sources) : $(metafile) ;
|
Depends $(sources) : $(metafile) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateStaticPluginRegistration $(sources) : $(metalist) ;
|
GenerateStaticPluginRegistration $(sources) : $(metalist) ;
|
||||||
Clean $(statictarget)clean : $(sources) ;
|
Clean $(statictarget)clean : $(sources) ;
|
||||||
Clean $(statictarget)clean : $(object) ;
|
Clean $(statictarget)clean : $(object) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule BuildStaticUseFile
|
rule BuildStaticUseFile
|
||||||
{
|
{
|
||||||
local statictarget = $(2) ;
|
local statictarget = $(2) ;
|
||||||
local package = $(3) ;
|
local package = $(3) ;
|
||||||
# prepare source files
|
# prepare source files
|
||||||
local sources ;
|
local sources ;
|
||||||
if $(3)
|
if $(3)
|
||||||
{
|
{
|
||||||
sources = [ DoObjectGrist _cs_static_use_$(package).cpp ] ;
|
sources = [ DoObjectGrist _cs_static_use_$(package).cpp ] ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sources = [ DoObjectGrist _cs_static_use.cpp ] ;
|
sources = [ DoObjectGrist _cs_static_use.cpp ] ;
|
||||||
}
|
}
|
||||||
local object = [ CompileObject $(sources) ] ;
|
local object = [ CompileObject $(sources) ] ;
|
||||||
|
|
||||||
MakeLocate $(sources) : $(LOCATE_TARGET) ;
|
MakeLocate $(sources) : $(LOCATE_TARGET) ;
|
||||||
SEARCH on $(sources) = $(LOCATE_TARGET) ;
|
SEARCH on $(sources) = $(LOCATE_TARGET) ;
|
||||||
MakeLocate $(object) : $(LOCATE_TARGET) ;
|
MakeLocate $(object) : $(LOCATE_TARGET) ;
|
||||||
|
|
||||||
C++FLAGS on $(object) += $($($(>).EXTERNALLIBS).CFLAGS) ;
|
C++FLAGS on $(object) += $($($(>).EXTERNALLIBS).CFLAGS) ;
|
||||||
|
|
||||||
GenerateStaticPluginInstantiation $(sources) : $(<) ;
|
GenerateStaticPluginInstantiation $(sources) : $(<) ;
|
||||||
Clean $(statictarget)clean : $(sources) ;
|
Clean $(statictarget)clean : $(sources) ;
|
||||||
Clean $(statictarget)clean : $(object) ;
|
Clean $(statictarget)clean : $(object) ;
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## LinkStaticPlugins target : plugins [: optionalplugins] [: package]
|
## LinkStaticPlugins target : plugins [: optionalplugins] [: package]
|
||||||
## Builds the plugins in 'plugins' (and 'optionalplugins') statically into
|
## Builds the plugins in 'plugins' (and 'optionalplugins') statically into
|
||||||
## 'target'. Can be used both for static plugins from the local project or
|
## 'target'. Can be used both for static plugins from the local project or
|
||||||
## an external project. In the latter case, the project's static plugin
|
## an external project. In the latter case, the project's static plugin
|
||||||
## library has to have been built, also, the "<package>.STATICDEPS"
|
## library has to have been built, also, the "<package>.STATICDEPS"
|
||||||
## variable must contain a path to a specially generated Jamfile that
|
## variable must contain a path to a specially generated Jamfile that
|
||||||
## contains information about the plugins provided by as well as external
|
## contains information about the plugins provided by as well as external
|
||||||
## dependencies. The static plugins library for both local and external
|
## dependencies. The static plugins library for both local and external
|
||||||
## package must be explicitly linked into 'target'.
|
## package must be explicitly linked into 'target'.
|
||||||
rule LinkStaticPlugins
|
rule LinkStaticPlugins
|
||||||
{
|
{
|
||||||
local package target plugins optplugins ;
|
local package target plugins optplugins ;
|
||||||
# Fetch the parameters
|
# Fetch the parameters
|
||||||
target = $(1) ;
|
target = $(1) ;
|
||||||
plugins = $(2) ;
|
plugins = $(2) ;
|
||||||
optplugins = $(3) ;
|
optplugins = $(3) ;
|
||||||
package = $(4) ;
|
package = $(4) ;
|
||||||
|
|
||||||
if $(package)
|
if $(package)
|
||||||
{
|
{
|
||||||
# External static plugins.
|
# External static plugins.
|
||||||
# First include static plugin info
|
# First include static plugin info
|
||||||
if ! $(HAVE_STATICDEPS.$(package))
|
if ! $(HAVE_STATICDEPS.$(package))
|
||||||
{
|
{
|
||||||
include $($(package).STATICDEPS) ;
|
include $($(package).STATICDEPS) ;
|
||||||
HAVE_STATICDEPS.$(package) = yes ;
|
HAVE_STATICDEPS.$(package) = yes ;
|
||||||
}
|
}
|
||||||
local lflags p ;
|
local lflags p ;
|
||||||
# Collect optional plugins
|
# Collect optional plugins
|
||||||
for p in $(optplugins)
|
for p in $(optplugins)
|
||||||
{
|
{
|
||||||
if [ IsElem $(p) : $(STATICPLUGINS.AVAILABLE) ]
|
if [ IsElem $(p) : $(STATICPLUGINS.AVAILABLE) ]
|
||||||
{
|
{
|
||||||
plugins += $(p) ;
|
plugins += $(p) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Grab flags
|
# Grab flags
|
||||||
for p in $(plugins)
|
for p in $(plugins)
|
||||||
{
|
{
|
||||||
NotFile $(p) ;
|
NotFile $(p) ;
|
||||||
CFlags $(target) : $(STATICPLUGIN.$(p).CFLAGS) ;
|
CFlags $(target) : $(STATICPLUGIN.$(p).CFLAGS) ;
|
||||||
lflags = [ MergeLFlags $(lflags) : $(STATICPLUGIN.$(p).LFLAGS) ] ;
|
lflags = [ MergeLFlags $(lflags) : $(STATICPLUGIN.$(p).LFLAGS) ] ;
|
||||||
}
|
}
|
||||||
LFlags $(target) : $(lflags) ;
|
LFlags $(target) : $(lflags) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# Local static plugins
|
# Local static plugins
|
||||||
local lflags libs p ;
|
local lflags libs p ;
|
||||||
# Collect optional plugins
|
# Collect optional plugins
|
||||||
for p in $(optplugins)
|
for p in $(optplugins)
|
||||||
{
|
{
|
||||||
if $($(p)_TARGET)
|
if $($(p)_TARGET)
|
||||||
{
|
{
|
||||||
plugins += $(p) ;
|
plugins += $(p) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Grab flags
|
# Grab flags
|
||||||
for p in $(plugins)
|
for p in $(plugins)
|
||||||
{
|
{
|
||||||
lflags += [ Filter $($(p).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
lflags += [ Filter $($(p).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
||||||
libs += $($(p).NEEDLIBS) ;
|
libs += $($(p).NEEDLIBS) ;
|
||||||
}
|
}
|
||||||
LFlags $(target) : [ Reverse [ RemoveDups [ Reverse $(lflags) ] ] ] ;
|
LFlags $(target) : [ Reverse [ RemoveDups [ Reverse $(lflags) ] ] ] ;
|
||||||
LinkWith $(target) : [ Reverse [ RemoveDups [ Reverse $(libs) ] ] ] ;
|
LinkWith $(target) : [ Reverse [ RemoveDups [ Reverse $(libs) ] ] ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# construct initialization sourcefile
|
# construct initialization sourcefile
|
||||||
local staticobject = [ BuildStaticUseFile $(plugins) : $(target) : $(package) ] ;
|
local staticobject = [ BuildStaticUseFile $(plugins) : $(target) : $(package) ] ;
|
||||||
ExtraObjects $(target) : $(staticobject) : inheritcflags ;
|
ExtraObjects $(target) : $(staticobject) : inheritcflags ;
|
||||||
}
|
}
|
||||||
|
|
||||||
## StaticPluginLibrary name [: rejects]
|
## StaticPluginLibrary name [: rejects]
|
||||||
## Create a library that monolithically contains statically linkable
|
## Create a library that monolithically contains statically linkable
|
||||||
## versions of all plugins, and also provides a target to install this
|
## versions of all plugins, and also provides a target to install this
|
||||||
## library ("install_staticplugins") as well as resources to facilitate the
|
## library ("install_staticplugins") as well as resources to facilitate the
|
||||||
## use of that library from external projects. Also, most plugins will
|
## use of that library from external projects. Also, most plugins will
|
||||||
## probably themselves depend on other libraries; while those are correctly
|
## probably themselves depend on other libraries; while those are correctly
|
||||||
## linked in with the static plugins, they are not built or installed when
|
## linked in with the static plugins, they are not built or installed when
|
||||||
## the static plugin library is.
|
## the static plugin library is.
|
||||||
## This library is intended to be used together with the
|
## This library is intended to be used together with the
|
||||||
## "LinkStaticPlugins" rule.
|
## "LinkStaticPlugins" rule.
|
||||||
rule StaticPluginLibrary
|
rule StaticPluginLibrary
|
||||||
{
|
{
|
||||||
local name = $(<) ;
|
local name = $(<) ;
|
||||||
local rejects = $(>) ;
|
local rejects = $(>) ;
|
||||||
local t ;
|
local t ;
|
||||||
|
|
||||||
local targets = $(STATICPLUGINS.SUBTARGETS) ;
|
local targets = $(STATICPLUGINS.SUBTARGETS) ;
|
||||||
if $(rejects)
|
if $(rejects)
|
||||||
{
|
{
|
||||||
targets = [ Filter $(targets) : $(rejects) ] ;
|
targets = [ Filter $(targets) : $(rejects) ] ;
|
||||||
}
|
}
|
||||||
local objects ;
|
local objects ;
|
||||||
for t in $(targets)
|
for t in $(targets)
|
||||||
{
|
{
|
||||||
objects += $(STATICPLUGINS.OBJECTS.$(t)) ;
|
objects += $(STATICPLUGINS.OBJECTS.$(t)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set up library
|
# Set up library
|
||||||
Library $(name) : $(objects) : noinstall notest independent nohelp ;
|
Library $(name) : $(objects) : noinstall notest independent nohelp ;
|
||||||
SEARCH on $(name) += $(LOCATE_TARGET) ;
|
SEARCH on $(name) += $(LOCATE_TARGET) ;
|
||||||
MsvcDefine $(name) : $(STATICPLUGINS.MSVC_DEFINES) ;
|
MsvcDefine $(name) : $(STATICPLUGINS.MSVC_DEFINES) ;
|
||||||
CFlags $(name) :
|
CFlags $(name) :
|
||||||
[ FDefines CS_STATIC_LINKED ]
|
[ FDefines CS_STATIC_LINKED ]
|
||||||
: nostatic ;
|
: nostatic ;
|
||||||
|
|
||||||
# Copy a variety of flags
|
# Copy a variety of flags
|
||||||
local o ;
|
local o ;
|
||||||
for o in $(objects)
|
for o in $(objects)
|
||||||
{
|
{
|
||||||
local sourceobj = $(STATICPLUGINS.OBJECTS.$(o)) ;
|
local sourceobj = $(STATICPLUGINS.OBJECTS.$(o)) ;
|
||||||
if $(sourceobj)
|
if $(sourceobj)
|
||||||
{
|
{
|
||||||
CCFLAGS on $(o) += [ on $(sourceobj) GetVar CCFLAGS ] ;
|
CCFLAGS on $(o) += [ on $(sourceobj) GetVar CCFLAGS ] ;
|
||||||
C++FLAGS on $(o) += [ on $(sourceobj) GetVar C++FLAGS ] ;
|
C++FLAGS on $(o) += [ on $(sourceobj) GetVar C++FLAGS ] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Write out needed CFLAGS, LFLAGS
|
# Write out needed CFLAGS, LFLAGS
|
||||||
STATICPLUGINS.DEPENDENCIES = $(name).jam ;
|
STATICPLUGINS.DEPENDENCIES = $(name).jam ;
|
||||||
MakeLocate $(STATICPLUGINS.DEPENDENCIES) : $(LOCATE.OBJECTS)/libs ;
|
MakeLocate $(STATICPLUGINS.DEPENDENCIES) : $(LOCATE.OBJECTS)/libs ;
|
||||||
for t in $(targets)
|
for t in $(targets)
|
||||||
{
|
{
|
||||||
WriteDependencies $(STATICPLUGINS.DEPENDENCIES) : $(t) : $(name) ;
|
WriteDependencies $(STATICPLUGINS.DEPENDENCIES) : $(t) : $(name) ;
|
||||||
}
|
}
|
||||||
Depends $(name) : $(STATICPLUGINS.DEPENDENCIES) ;
|
Depends $(name) : $(STATICPLUGINS.DEPENDENCIES) ;
|
||||||
Clean $(name)clean : $(STATICPLUGINS.DEPENDENCIES) ;
|
Clean $(name)clean : $(STATICPLUGINS.DEPENDENCIES) ;
|
||||||
|
|
||||||
# Install targets
|
# Install targets
|
||||||
Depends install_staticplugins :
|
Depends install_staticplugins :
|
||||||
[ DoInstall [ ConstructLibraryTarget $(name) ] : $(libdir) ] ;
|
[ DoInstall [ ConstructLibraryTarget $(name) ] : $(libdir) ] ;
|
||||||
Depends install_staticplugins : $(STATICPLUGINS.DEPENDENCIES) ;
|
Depends install_staticplugins : $(STATICPLUGINS.DEPENDENCIES) ;
|
||||||
Depends install_staticplugins :
|
Depends install_staticplugins :
|
||||||
[ DoInstall $(STATICPLUGINS.DEPENDENCIES) : $(libdir) ] ;
|
[ DoInstall $(STATICPLUGINS.DEPENDENCIES) : $(libdir) ] ;
|
||||||
Depends install_staticplugins : install_libs ;
|
Depends install_staticplugins : install_libs ;
|
||||||
|
|
||||||
INSTALLEDLIBS_OPTIONAL += $(name) ;
|
INSTALLEDLIBS_OPTIONAL += $(name) ;
|
||||||
|
|
||||||
# Collect library dependencies. The idea is to built all libs needed by the
|
# Collect library dependencies. The idea is to built all libs needed by the
|
||||||
# static plugins when "jam staticplugins" is invoked.
|
# static plugins when "jam staticplugins" is invoked.
|
||||||
for t in $(targets)
|
for t in $(targets)
|
||||||
{
|
{
|
||||||
local deplibs ;
|
local deplibs ;
|
||||||
if $($(t).NEEDLIBS)
|
if $($(t).NEEDLIBS)
|
||||||
{
|
{
|
||||||
deplibs += $($(t).NEEDLIBS) ;
|
deplibs += $($(t).NEEDLIBS) ;
|
||||||
}
|
}
|
||||||
deplibs = [ RemoveDups $(deplibs) ] ;
|
deplibs = [ RemoveDups $(deplibs) ] ;
|
||||||
Depends staticplugins : $(deplibs) ;
|
Depends staticplugins : $(deplibs) ;
|
||||||
}
|
}
|
||||||
Help staticplugins :
|
Help staticplugins :
|
||||||
"Build the library with static versions of all plugins" ;
|
"Build the library with static versions of all plugins" ;
|
||||||
Depends staticplugins : libs $(name) ;
|
Depends staticplugins : libs $(name) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
# Write out CFLAGS, LFLAGS needed by a plugin
|
# Write out CFLAGS, LFLAGS needed by a plugin
|
||||||
rule WriteDependencies
|
rule WriteDependencies
|
||||||
{
|
{
|
||||||
local cflags ;
|
local cflags ;
|
||||||
local lflags ;
|
local lflags ;
|
||||||
local depfile = $(<) ;
|
local depfile = $(<) ;
|
||||||
local plugin = $(>) ;
|
local plugin = $(>) ;
|
||||||
local name = $(3) ;
|
local name = $(3) ;
|
||||||
local depfile_gristed = $(depfile:G=$(plugin)) ;
|
local depfile_gristed = $(depfile:G=$(plugin)) ;
|
||||||
MakeLocate $(depfile_gristed) : [ on $(depfile) GetVar LOCATE ] ;
|
MakeLocate $(depfile_gristed) : [ on $(depfile) GetVar LOCATE ] ;
|
||||||
|
|
||||||
# Collect flags
|
# Collect flags
|
||||||
lflags += -l$(name) ;
|
lflags += -l$(name) ;
|
||||||
local libs = [ ResolveLibs $($(plugin).NEEDLIBS) ] ;
|
local libs = [ ResolveLibs $($(plugin).NEEDLIBS) ] ;
|
||||||
lflags += -l$(libs) ;
|
lflags += -l$(libs) ;
|
||||||
|
|
||||||
local l ;
|
local l ;
|
||||||
for l in $($(plugin).EXTERNALLIBS)
|
for l in $($(plugin).EXTERNALLIBS)
|
||||||
{
|
{
|
||||||
cflags += $($(l).CFLAGS) ;
|
cflags += $($(l).CFLAGS) ;
|
||||||
lflags += [ Filter $($(l).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
lflags += [ Filter $($(l).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
||||||
}
|
}
|
||||||
lflags += [ Filter $($(plugin).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
lflags += [ Filter $($(plugin).LFLAGS) : $(LINKLIBS) $(PLUGIN.LFLAGS) ] ;
|
||||||
CFLAGS on $(depfile_gristed) = "$(cflags)" ;
|
CFLAGS on $(depfile_gristed) = "$(cflags)" ;
|
||||||
LFLAGS on $(depfile_gristed) = "$(lflags)" ;
|
LFLAGS on $(depfile_gristed) = "$(lflags)" ;
|
||||||
|
|
||||||
if $($(depfile).FIRSTTIME) != "yes"
|
if $($(depfile).FIRSTTIME) != "yes"
|
||||||
{
|
{
|
||||||
WriteDepFlags1 $(depfile_gristed) : $(plugin) ;
|
WriteDepFlags1 $(depfile_gristed) : $(plugin) ;
|
||||||
$(depfile).FIRSTTIME = "yes" ;
|
$(depfile).FIRSTTIME = "yes" ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WriteDepFlags2 $(depfile_gristed) : $(plugin) ;
|
WriteDepFlags2 $(depfile_gristed) : $(plugin) ;
|
||||||
}
|
}
|
||||||
Depends $(depfile) : $(depfile_gristed) ;
|
Depends $(depfile) : $(depfile_gristed) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions WriteDepFlags1
|
actions WriteDepFlags1
|
||||||
{
|
{
|
||||||
cat << EOT > $(<)
|
cat << EOT > $(<)
|
||||||
STATICPLUGINS.AVAILABLE += $(>) ;
|
STATICPLUGINS.AVAILABLE += $(>) ;
|
||||||
STATICPLUGIN.$(>).CFLAGS = $(CFLAGS) ;
|
STATICPLUGIN.$(>).CFLAGS = $(CFLAGS) ;
|
||||||
STATICPLUGIN.$(>).LFLAGS = $(LFLAGS) ;
|
STATICPLUGIN.$(>).LFLAGS = $(LFLAGS) ;
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
actions WriteDepFlags2
|
actions WriteDepFlags2
|
||||||
{
|
{
|
||||||
cat << EOT >> $(<)
|
cat << EOT >> $(<)
|
||||||
STATICPLUGINS.AVAILABLE += $(>) ;
|
STATICPLUGINS.AVAILABLE += $(>) ;
|
||||||
STATICPLUGIN.$(>).CFLAGS = $(CFLAGS) ;
|
STATICPLUGIN.$(>).CFLAGS = $(CFLAGS) ;
|
||||||
STATICPLUGIN.$(>).LFLAGS = $(LFLAGS) ;
|
STATICPLUGIN.$(>).LFLAGS = $(LFLAGS) ;
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
actions piecemeal GenerateStaticPluginRegistration1
|
actions piecemeal GenerateStaticPluginRegistration1
|
||||||
{
|
{
|
||||||
echo 'namespace csStaticPluginInit' >> $(<)
|
echo 'namespace csStaticPluginInit' >> $(<)
|
||||||
echo '{' >> $(<)
|
echo '{' >> $(<)
|
||||||
for x in $(>)
|
for x in $(>)
|
||||||
do
|
do
|
||||||
n=`basename $x $(SUFMETA)`
|
n=`basename $x $(SUFMETA)`
|
||||||
echo "static char const metainfo_${n}[] =" >> $(<)
|
echo "static char const metainfo_${n}[] =" >> $(<)
|
||||||
$(SED) 's:\\:\\\\:g;s:":\\":g;s:\(.*\):"\1":' < $x >>$(<)
|
$(SED) 's:\\:\\\\:g;s:":\\":g;s:\(.*\):"\1":' < $x >>$(<)
|
||||||
echo ";" >> $(<)
|
echo ";" >> $(<)
|
||||||
$(SED) '/<implementation>/!d;s:[ ]*<implementation>\(..*\)</implementation>: #ifndef \1_FACTORY_REGISTER_DEFINED \
|
$(SED) '/<implementation>/!d;s:[ ]*<implementation>\(..*\)</implementation>: #ifndef \1_FACTORY_REGISTER_DEFINED \
|
||||||
#define \1_FACTORY_REGISTER_DEFINED \
|
#define \1_FACTORY_REGISTER_DEFINED \
|
||||||
SCF_DEFINE_FACTORY_FUNC_REGISTRATION(\1) \
|
SCF_DEFINE_FACTORY_FUNC_REGISTRATION(\1) \
|
||||||
#endif:g' < $x >> $(<)
|
#endif:g' < $x >> $(<)
|
||||||
done
|
done
|
||||||
echo '' >> $(<)
|
echo '' >> $(<)
|
||||||
for x in $(>)
|
for x in $(>)
|
||||||
do
|
do
|
||||||
n=`basename $x $(SUFMETA)`
|
n=`basename $x $(SUFMETA)`
|
||||||
echo "class ${n}" >> $(<)
|
echo "class ${n}" >> $(<)
|
||||||
echo "{" >> $(<)
|
echo "{" >> $(<)
|
||||||
echo "SCF_REGISTER_STATIC_LIBRARY($n,metainfo_${n})" >>$(<)
|
echo "SCF_REGISTER_STATIC_LIBRARY($n,metainfo_${n})" >>$(<)
|
||||||
$(SED) '/<implementation>/!d;s:[ ]*<implementation>\(..*\)</implementation>: #ifndef \1_FACTORY_REGISTERED \
|
$(SED) '/<implementation>/!d;s:[ ]*<implementation>\(..*\)</implementation>: #ifndef \1_FACTORY_REGISTERED \
|
||||||
#define \1_FACTORY_REGISTERED \
|
#define \1_FACTORY_REGISTERED \
|
||||||
\1_StaticInit \1_static_init__; \
|
\1_StaticInit \1_static_init__; \
|
||||||
#endif:g' < $x >> $(<)
|
#endif:g' < $x >> $(<)
|
||||||
echo "public:" >> $(<)
|
echo "public:" >> $(<)
|
||||||
echo " ${n}();" >> $(<)
|
echo " ${n}();" >> $(<)
|
||||||
echo "};" >> $(<)
|
echo "};" >> $(<)
|
||||||
echo "$n::$n() {}" >> $(<)
|
echo "$n::$n() {}" >> $(<)
|
||||||
echo "" >> $(<)
|
echo "" >> $(<)
|
||||||
done
|
done
|
||||||
echo '}' >> $(<)
|
echo '}' >> $(<)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +1,36 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for stripping binaries
|
# Rules for stripping binaries
|
||||||
# Copyright (C)2006 by Frank Richter
|
# Copyright (C)2006 by Frank Richter
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
## SplitDebugInfo binary
|
## SplitDebugInfo binary
|
||||||
## Strips the debugging information into a separate external file.
|
## Strips the debugging information into a separate external file.
|
||||||
rule SplitDebugInfo
|
rule SplitDebugInfo
|
||||||
{
|
{
|
||||||
local binary = $(1) ;
|
local binary = $(1) ;
|
||||||
DoSplitDebugInfo $(binary) ;
|
DoSplitDebugInfo $(binary) ;
|
||||||
return $(binary).dbg ;
|
return $(binary).dbg ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions DoSplitDebugInfo
|
actions DoSplitDebugInfo
|
||||||
{
|
{
|
||||||
$(CMD.OBJCOPY) --only-keep-debug $(<) $(<).dbg
|
$(CMD.OBJCOPY) --only-keep-debug $(<) $(<).dbg
|
||||||
$(CMD.OBJCOPY) --strip-unneeded $(<)
|
$(CMD.OBJCOPY) --strip-unneeded $(<)
|
||||||
$(CMD.OBJCOPY) --add-gnu-debuglink=$(<).dbg $(<)
|
$(CMD.OBJCOPY) --add-gnu-debuglink=$(<).dbg $(<)
|
||||||
if [ "$(CHMOD)" ] ; then $(CHMOD) a-x $(<).dbg ; fi
|
if [ "$(CHMOD)" ] ; then $(CHMOD) a-x $(<).dbg ; fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,109 +1,109 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Work around problems the SubDir rule of Jambase
|
# Work around problems the SubDir rule of Jambase
|
||||||
# (until jampeople accept my patches :-/ )
|
# (until jampeople accept my patches :-/ )
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
LOCATE.OBJECTS ?= $(BUILDTOP)/out/$(OSFULL[1]:L) ;
|
LOCATE.OBJECTS ?= $(BUILDTOP)/out/$(OSFULL[1]:L) ;
|
||||||
LOCATE.TARGETS ?= $(BUILDTOP) ;
|
LOCATE.TARGETS ?= $(BUILDTOP) ;
|
||||||
LOCATE.DOCS ?= $(BUILDTOP)/out/docs ;
|
LOCATE.DOCS ?= $(BUILDTOP)/out/docs ;
|
||||||
|
|
||||||
SUBDIRRULES += FixSubDirPath ;
|
SUBDIRRULES += FixSubDirPath ;
|
||||||
|
|
||||||
CMD.MKDIR ?= mkdir ;
|
CMD.MKDIR ?= mkdir ;
|
||||||
CMD.MKDIRS ?= "$(CMD.MKDIR) -p" ;
|
CMD.MKDIRS ?= "$(CMD.MKDIR) -p" ;
|
||||||
|
|
||||||
rule FixSubDirPath
|
rule FixSubDirPath
|
||||||
{
|
{
|
||||||
LOCATE_SOURCE = [ FDirName $(LOCATE.OBJECTS) $(SUBDIR_TOKENS) ] ;
|
LOCATE_SOURCE = [ FDirName $(LOCATE.OBJECTS) $(SUBDIR_TOKENS) ] ;
|
||||||
LOCATE_TARGET = [ FDirName $(LOCATE.OBJECTS) $(SUBDIR_TOKENS) ] ;
|
LOCATE_TARGET = [ FDirName $(LOCATE.OBJECTS) $(SUBDIR_TOKENS) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fix bug in Jambase where SubInclude in the middle of a Jamfile made it break.
|
# Fix bug in Jambase where SubInclude in the middle of a Jamfile made it break.
|
||||||
rule SubInclude
|
rule SubInclude
|
||||||
{
|
{
|
||||||
if ! $($(<[1]))
|
if ! $($(<[1]))
|
||||||
{
|
{
|
||||||
Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;
|
Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local save_SUBDIR_TOKENS = $(SUBDIR_TOKENS) ;
|
local save_SUBDIR_TOKENS = $(SUBDIR_TOKENS) ;
|
||||||
|
|
||||||
SubDir $(<) ;
|
SubDir $(<) ;
|
||||||
|
|
||||||
include $(JAMFILE:D=$(SUBDIR)) ;
|
include $(JAMFILE:D=$(SUBDIR)) ;
|
||||||
|
|
||||||
SubDir $(<[1]) $(save_SUBDIR_TOKENS) ;
|
SubDir $(<[1]) $(save_SUBDIR_TOKENS) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# This MakeLocate rule differs from the Jambase one in that it also works with
|
# This MakeLocate rule differs from the Jambase one in that it also works with
|
||||||
# files being in subdirectories.
|
# files being in subdirectories.
|
||||||
rule MakeLocate
|
rule MakeLocate
|
||||||
{
|
{
|
||||||
# MakeLocate targets : directory ;
|
# MakeLocate targets : directory ;
|
||||||
|
|
||||||
# Sets special variable LOCATE on targets, and arranges
|
# Sets special variable LOCATE on targets, and arranges
|
||||||
# with MkDir to create target directory.
|
# with MkDir to create target directory.
|
||||||
|
|
||||||
# Note we grist the directory name with 'dir',
|
# Note we grist the directory name with 'dir',
|
||||||
# so that directory path components and other
|
# so that directory path components and other
|
||||||
# targets don't conflict.
|
# targets don't conflict.
|
||||||
|
|
||||||
if $(>) && $(>) != ""
|
if $(>) && $(>) != ""
|
||||||
{
|
{
|
||||||
local i ;
|
local i ;
|
||||||
for i in $(<)
|
for i in $(<)
|
||||||
{
|
{
|
||||||
LOCATE on $(i) = $(>) ;
|
LOCATE on $(i) = $(>) ;
|
||||||
|
|
||||||
local targetfile = $(i:R=$(>)) ;
|
local targetfile = $(i:R=$(>)) ;
|
||||||
local targetdir = $(targetfile:D) ;
|
local targetdir = $(targetfile:D) ;
|
||||||
if ! $(targetdir) { targetdir = "." ; }
|
if ! $(targetdir) { targetdir = "." ; }
|
||||||
targetdir = $(targetdir:G=dir) ;
|
targetdir = $(targetdir:G=dir) ;
|
||||||
Depends $(i) : $(targetdir) ;
|
Depends $(i) : $(targetdir) ;
|
||||||
MkDir $(targetdir) ;
|
MkDir $(targetdir) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# The default MkDir rule in Jambase has problems when paths contains a sequence
|
# The default MkDir rule in Jambase has problems when paths contains a sequence
|
||||||
# of multiple slashes (ie. bla////fup). We solve these problems and greatly
|
# of multiple slashes (ie. bla////fup). We solve these problems and greatly
|
||||||
# simply this rule by using the "mkdir -p" or mkdirs command.
|
# simply this rule by using the "mkdir -p" or mkdirs command.
|
||||||
rule MkDir
|
rule MkDir
|
||||||
{
|
{
|
||||||
# MkDir directory ;
|
# MkDir directory ;
|
||||||
|
|
||||||
# Make a directory and all its parent directories.
|
# Make a directory and all its parent directories.
|
||||||
|
|
||||||
# Ignore timestamps on directories: we only care if they
|
# Ignore timestamps on directories: we only care if they
|
||||||
# exist.
|
# exist.
|
||||||
|
|
||||||
NoUpdate $(<) ;
|
NoUpdate $(<) ;
|
||||||
|
|
||||||
# don't create the dir multiple times
|
# don't create the dir multiple times
|
||||||
if ! $($(<)-mkdir)
|
if ! $($(<)-mkdir)
|
||||||
{
|
{
|
||||||
$(<)-mkdir = true ;
|
$(<)-mkdir = true ;
|
||||||
MkDir1 $(<) ;
|
MkDir1 $(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
actions MkDir1
|
actions MkDir1
|
||||||
{
|
{
|
||||||
$(CMD.MKDIRS) "$(<)"
|
$(CMD.MKDIRS) "$(<)"
|
||||||
}
|
}
|
||||||
|
|||||||
450
mk/jam/swig.jam
450
mk/jam/swig.jam
@@ -1,225 +1,225 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Rules for swig
|
# Rules for swig
|
||||||
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
# Copyright (C)2004 by Eric Sunshine <sunshine@sunshineco.com>
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if $(CMD.SWIG)
|
if $(CMD.SWIG)
|
||||||
{
|
{
|
||||||
# Post-processing of the Swig-generated C++ file.
|
# Post-processing of the Swig-generated C++ file.
|
||||||
#
|
#
|
||||||
# (1) We need to ensure that <stdint.h> defines INT64_C() and cousins, which
|
# (1) We need to ensure that <stdint.h> defines INT64_C() and cousins, which
|
||||||
# means that the __STDC_CONSTANT_MACROS and __STDC_LIMIT_MACROS macros must
|
# means that the __STDC_CONSTANT_MACROS and __STDC_LIMIT_MACROS macros must
|
||||||
# be defined before <stdint.h> is included. In some Python installations,
|
# be defined before <stdint.h> is included. In some Python installations,
|
||||||
# Python.h includes <stdint.h>, and Swig-generated output includes Python.h
|
# Python.h includes <stdint.h>, and Swig-generated output includes Python.h
|
||||||
# before we ever have a chance to define the __STDC_* macros. There is no
|
# before we ever have a chance to define the __STDC_* macros. There is no
|
||||||
# Swig-supported mechanism allowing us to insert these #defines before
|
# Swig-supported mechanism allowing us to insert these #defines before
|
||||||
# Python.h is included, so we post-process the output file.
|
# Python.h is included, so we post-process the output file.
|
||||||
#
|
#
|
||||||
# (2) We #undefine _DEBUG, to ensure that python23.lib is used by MSVC
|
# (2) We #undefine _DEBUG, to ensure that python23.lib is used by MSVC
|
||||||
# instead of python23_d.lib.
|
# instead of python23_d.lib.
|
||||||
#
|
#
|
||||||
# (3) Delete any lines containing the CVS `Header' keyword to ensure that CVS
|
# (3) Delete any lines containing the CVS `Header' keyword to ensure that CVS
|
||||||
# does not consider the file changed simply because `Header' expansion
|
# does not consider the file changed simply because `Header' expansion
|
||||||
# differs.
|
# differs.
|
||||||
#
|
#
|
||||||
# (4) Swig 1.3.22 for Perl emits illegal expressions `new (sometype)[n]'
|
# (4) Swig 1.3.22 for Perl emits illegal expressions `new (sometype)[n]'
|
||||||
# rather than `new sometype[n]' (at least gcc considers it illegal),
|
# rather than `new sometype[n]' (at least gcc considers it illegal),
|
||||||
# therefore, we transform the expression by dropping the parentheses.
|
# therefore, we transform the expression by dropping the parentheses.
|
||||||
#
|
#
|
||||||
# (5) cs_pyth.cpp contains a macro "#define SWIG_init init_cspace". However,
|
# (5) cs_pyth.cpp contains a macro "#define SWIG_init init_cspace". However,
|
||||||
# cs_pyth.cpp may reside in a shared lib, so we rather want the name
|
# cs_pyth.cpp may reside in a shared lib, so we rather want the name
|
||||||
# SWIG_init and define init_cspace as a simple forwared ourselves.
|
# SWIG_init and define init_cspace as a simple forwared ourselves.
|
||||||
#
|
#
|
||||||
# (6) perl.h includes dirent.h on some configurations which conflicts with
|
# (6) perl.h includes dirent.h on some configurations which conflicts with
|
||||||
# the CS definitions of dirent, opendir, etc. So define _DIRENT_H_ to
|
# the CS definitions of dirent, opendir, etc. So define _DIRENT_H_ to
|
||||||
# make dirent.h skip its body. This is hackish but no better solution
|
# make dirent.h skip its body. This is hackish but no better solution
|
||||||
# has been found.
|
# has been found.
|
||||||
#
|
#
|
||||||
# (Despite the fact that these customizations might seem project-specific,
|
# (Despite the fact that these customizations might seem project-specific,
|
||||||
# they should be safe for all projects.)
|
# they should be safe for all projects.)
|
||||||
SWIG.SED_SCRIPT =
|
SWIG.SED_SCRIPT =
|
||||||
"'s/\\([ ]*#[ ]*include[ ][ ]*[<\"]Python.h[>\"]\\)/\\
|
"'s/\\([ ]*#[ ]*include[ ][ ]*[<\"]Python.h[>\"]\\)/\\
|
||||||
#ifndef __STDC_CONSTANT_MACROS\\
|
#ifndef __STDC_CONSTANT_MACROS\\
|
||||||
#define __STDC_CONSTANT_MACROS\\
|
#define __STDC_CONSTANT_MACROS\\
|
||||||
#endif\\
|
#endif\\
|
||||||
#ifndef __STDC_LIMIT_MACROS\\
|
#ifndef __STDC_LIMIT_MACROS\\
|
||||||
#define __STDC_LIMIT_MACROS\\
|
#define __STDC_LIMIT_MACROS\\
|
||||||
#endif\\
|
#endif\\
|
||||||
#ifndef DEBUG_PYTHON\\
|
#ifndef DEBUG_PYTHON\\
|
||||||
#undef _DEBUG\\
|
#undef _DEBUG\\
|
||||||
#endif\\
|
#endif\\
|
||||||
\\1/g
|
\\1/g
|
||||||
/\$Header:/d
|
/\$Header:/d
|
||||||
s/new[ ][ ]*(\\([^)][^)]*\\))[ ]*\\[/new \\1 [/g
|
s/new[ ][ ]*(\\([^)][^)]*\\))[ ]*\\[/new \\1 [/g
|
||||||
s/[ ]*#[ ]*define[ ][ ]*SWIG_init[ ]*init_\\(.*\\)/#define SWIG_init SWIG_init_\\1/g
|
s/[ ]*#[ ]*define[ ][ ]*SWIG_init[ ]*init_\\(.*\\)/#define SWIG_init SWIG_init_\\1/g
|
||||||
s/\\([ ]*#[ ]*include[ ][ ]*[<\"]perl.h[>\"]\\)/\\
|
s/\\([ ]*#[ ]*include[ ][ ]*[<\"]perl.h[>\"]\\)/\\
|
||||||
#ifndef _DIRENT_H_\\
|
#ifndef _DIRENT_H_\\
|
||||||
#define _DIRENT_H_\\
|
#define _DIRENT_H_\\
|
||||||
#endif\\
|
#endif\\
|
||||||
\\1/g'" ;
|
\\1/g'" ;
|
||||||
|
|
||||||
## Swig targets : swigfile : language [ : swigflags [ : swigincdirs
|
## Swig targets : swigfile : language [ : swigflags [ : swigincdirs
|
||||||
## [ : swigfiledir [ : frozendirs [ : tag [ : outdir ]]]]]]
|
## [ : swigfiledir [ : frozendirs [ : tag [ : outdir ]]]]]]
|
||||||
## Given a Swig input file `swigfile', generate `targets' for scripting
|
## Given a Swig input file `swigfile', generate `targets' for scripting
|
||||||
## language `language'. The first element of `targets' should name the
|
## language `language'. The first element of `targets' should name the
|
||||||
## generated C or C++ file, and the remaining optional elements should name
|
## generated C or C++ file, and the remaining optional elements should name
|
||||||
## any other language-specific scripting files which Swig will generate.
|
## any other language-specific scripting files which Swig will generate.
|
||||||
## For instance, the files widgets.cpp and widgets.py might be emitted by
|
## For instance, the files widgets.cpp and widgets.py might be emitted by
|
||||||
## Swig for the input file widgets.i. The generated files are placed in
|
## Swig for the input file widgets.i. The generated files are placed in
|
||||||
## $(LOCATE_TARGET). `swigflags' specifies additional flags to pass to
|
## $(LOCATE_TARGET). `swigflags' specifies additional flags to pass to
|
||||||
## Swig. `swigincdirs' is a list of additional directories which Swig
|
## Swig. `swigincdirs' is a list of additional directories which Swig
|
||||||
## should search for files which it includes. `swigfiledir' specifies the
|
## should search for files which it includes. `swigfiledir' specifies the
|
||||||
## location of `swigfile' if it does not reside in the present source
|
## location of `swigfile' if it does not reside in the present source
|
||||||
## directory. This rule defines top-level targets named "$(tag)swig",
|
## directory. This rule defines top-level targets named "$(tag)swig",
|
||||||
## which generates `targets' on-demand; and "$(tag)swigclean", which
|
## which generates `targets' on-demand; and "$(tag)swigclean", which
|
||||||
## deletes the generated files. `tag' is a simple identifier out of which
|
## deletes the generated files. `tag' is a simple identifier out of which
|
||||||
## top-level pseudo-targets names are constructed. If `tag' is not
|
## top-level pseudo-targets names are constructed. If `tag' is not
|
||||||
## provided, then `language' is used instead. If `frozentargdirs' is
|
## provided, then `language' is used instead. If `frozentargdirs' is
|
||||||
## provided, then an additional top-level target named "$(tag)freeze" is
|
## provided, then an additional top-level target named "$(tag)freeze" is
|
||||||
## defined, which copies the generated files to the specified directories.
|
## defined, which copies the generated files to the specified directories.
|
||||||
## If `frozentargdirs' contains only one element, then all generated files
|
## If `frozentargdirs' contains only one element, then all generated files
|
||||||
## are copied to that directory. If it contains two elements, then the
|
## are copied to that directory. If it contains two elements, then the
|
||||||
## first element of `targets' is copied to the first element of
|
## first element of `targets' is copied to the first element of
|
||||||
## `frozentargdirs', and all remaining elements of `targets' are copied to
|
## `frozentargdirs', and all remaining elements of `targets' are copied to
|
||||||
## the second element of `frozentargdirs'. `outdir', if provided, is a list
|
## the second element of `frozentargdirs'. `outdir', if provided, is a list
|
||||||
## of path components which specify a subdirectory in which Swig should
|
## of path components which specify a subdirectory in which Swig should
|
||||||
## place the language-specific support files, rather than placing them in
|
## place the language-specific support files, rather than placing them in
|
||||||
## $(LOCATE_TARGET). This might be useful, for instance, when Swig is in
|
## $(LOCATE_TARGET). This might be useful, for instance, when Swig is in
|
||||||
## Java mode, and the .java files must be placed in a directory hierarchy
|
## Java mode, and the .java files must be placed in a directory hierarchy
|
||||||
## which reflects the full package name.
|
## which reflects the full package name.
|
||||||
rule Swig
|
rule Swig
|
||||||
{
|
{
|
||||||
local target = $(1[1]) ;
|
local target = $(1[1]) ;
|
||||||
local othertargets = $(1[2-]) ;
|
local othertargets = $(1[2-]) ;
|
||||||
local swigfile = $(2) ;
|
local swigfile = $(2) ;
|
||||||
local language = $(3) ;
|
local language = $(3) ;
|
||||||
local swigflags = $(4) ;
|
local swigflags = $(4) ;
|
||||||
local swigincdirs = $(5) ;
|
local swigincdirs = $(5) ;
|
||||||
local swigfiledir = $(6) ;
|
local swigfiledir = $(6) ;
|
||||||
local frozentargetdir = $(7[1]) ;
|
local frozentargetdir = $(7[1]) ;
|
||||||
local frozenotherdir = $(7[2-]) ;
|
local frozenotherdir = $(7[2-]) ;
|
||||||
local tag = $(8) ;
|
local tag = $(8) ;
|
||||||
local outdir = $(9) ;
|
local outdir = $(9) ;
|
||||||
|
|
||||||
if ! $(frozenotherdir) { frozenotherdir = $(frozentargetdir) ; }
|
if ! $(frozenotherdir) { frozenotherdir = $(frozentargetdir) ; }
|
||||||
if ! $(tag) { tag = $(language) ; }
|
if ! $(tag) { tag = $(language) ; }
|
||||||
if ! $(outdir) { outdir = $(LOCATE_TARGET) ; }
|
if ! $(outdir) { outdir = $(LOCATE_TARGET) ; }
|
||||||
|
|
||||||
Depends $(target) : $(swigfile) ;
|
Depends $(target) : $(swigfile) ;
|
||||||
MakeLocate $(target) : $(LOCATE_TARGET) ;
|
MakeLocate $(target) : $(LOCATE_TARGET) ;
|
||||||
if $(othertargets)
|
if $(othertargets)
|
||||||
{
|
{
|
||||||
MakeLocate $(othertargets) : $(outdir) ;
|
MakeLocate $(othertargets) : $(outdir) ;
|
||||||
|
|
||||||
# If any target, such as an install target, depends upon the other files,
|
# If any target, such as an install target, depends upon the other files,
|
||||||
# we force them to be built with a dependency upon the target.
|
# we force them to be built with a dependency upon the target.
|
||||||
Depends $(othertargets) : $(target) ;
|
Depends $(othertargets) : $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
SWIG.FLAGS on $(target) +=
|
SWIG.FLAGS on $(target) +=
|
||||||
$(SWIG.FLAGS) -$(language) $(swigflags) -I$(swigincdirs)
|
$(SWIG.FLAGS) -$(language) $(swigflags) -I$(swigincdirs)
|
||||||
-outdir [ ConcatDirs $(outdir) ] ;
|
-outdir [ ConcatDirs $(outdir) ] ;
|
||||||
|
|
||||||
# Allow Swig input file to reside at location other than $(SEARCH_SOURCE).
|
# Allow Swig input file to reside at location other than $(SEARCH_SOURCE).
|
||||||
if $(swigfiledir)
|
if $(swigfiledir)
|
||||||
{
|
{
|
||||||
SEARCH on $(swigfile) = $(swigfiledir) ;
|
SEARCH on $(swigfile) = $(swigfiledir) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SEARCH on $(swigfile) = $(SEARCH_SOURCE) ;
|
SEARCH on $(swigfile) = $(SEARCH_SOURCE) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Scan for special Swig includes.
|
# Scan for special Swig includes.
|
||||||
HDRGRIST on $(swigfile) = $(HDRGRIST) ;
|
HDRGRIST on $(swigfile) = $(HDRGRIST) ;
|
||||||
HDRSEARCH on $(swigfile) =
|
HDRSEARCH on $(swigfile) =
|
||||||
$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
|
$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
|
||||||
HDRRULE on $(swigfile) = HeaderRule ;
|
HDRRULE on $(swigfile) = HeaderRule ;
|
||||||
HDRSCAN on $(swigfile) = $(SWIG.HDRPATTERN) ;
|
HDRSCAN on $(swigfile) = $(SWIG.HDRPATTERN) ;
|
||||||
|
|
||||||
RunSwig $(target) : $(swigfile) ;
|
RunSwig $(target) : $(swigfile) ;
|
||||||
Depends $(tag)swig : $(target) ;
|
Depends $(tag)swig : $(target) ;
|
||||||
NotFile $(tag)swig ;
|
NotFile $(tag)swig ;
|
||||||
Always $(tag)swig ;
|
Always $(tag)swig ;
|
||||||
Help $(tag)swig : "Generate Swig files for $(tag)" ;
|
Help $(tag)swig : "Generate Swig files for $(tag)" ;
|
||||||
|
|
||||||
Clean $(tag)swigclean : $(target) $(othertargets) ;
|
Clean $(tag)swigclean : $(target) $(othertargets) ;
|
||||||
Depends clean : $(tag)swigclean ;
|
Depends clean : $(tag)swigclean ;
|
||||||
|
|
||||||
if $(frozentargetdir)
|
if $(frozentargetdir)
|
||||||
{
|
{
|
||||||
local frozen_target = $(target:G=$(tag)freeze) ;
|
local frozen_target = $(target:G=$(tag)freeze) ;
|
||||||
MakeLocate $(frozen_target) : $(frozentargetdir) ;
|
MakeLocate $(frozen_target) : $(frozentargetdir) ;
|
||||||
Depends $(frozen_target) : $(target) ;
|
Depends $(frozen_target) : $(target) ;
|
||||||
Copy $(frozen_target) : $(target) ;
|
Copy $(frozen_target) : $(target) ;
|
||||||
Depends $(tag)freeze : $(frozen_target) ;
|
Depends $(tag)freeze : $(frozen_target) ;
|
||||||
|
|
||||||
if $(othertargets)
|
if $(othertargets)
|
||||||
{
|
{
|
||||||
local frozen_other = $(othertargets:G=$(tag)freeze) ;
|
local frozen_other = $(othertargets:G=$(tag)freeze) ;
|
||||||
MakeLocate $(frozen_other) : $(frozenotherdir) ;
|
MakeLocate $(frozen_other) : $(frozenotherdir) ;
|
||||||
Depends $(frozen_other) : $(othertargets) ;
|
Depends $(frozen_other) : $(othertargets) ;
|
||||||
Copy $(frozen_other) : $(othertargets) ;
|
Copy $(frozen_other) : $(othertargets) ;
|
||||||
Depends $(tag)freeze : $(frozen_other) ;
|
Depends $(tag)freeze : $(frozen_other) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
NotFile $(tag)freeze ;
|
NotFile $(tag)freeze ;
|
||||||
Help $(tag)freeze : "Copy generated Swig files to source directory" ;
|
Help $(tag)freeze : "Copy generated Swig files to source directory" ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
actions RunSwig
|
actions RunSwig
|
||||||
{
|
{
|
||||||
$(CMD.SWIG) $(SWIG.FLAGS) -o $(<) $(>)
|
$(CMD.SWIG) $(SWIG.FLAGS) -o $(<) $(>)
|
||||||
$(SED) $(SWIG.SED_SCRIPT) < $(<) > $(<).sed
|
$(SED) $(SWIG.SED_SCRIPT) < $(<) > $(<).sed
|
||||||
$(RM) $(<)
|
$(RM) $(<)
|
||||||
$(MV) $(<).sed $(<)
|
$(MV) $(<).sed $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
SWIG.SIMPLE.LANGUAGE ?= python ;
|
SWIG.SIMPLE.LANGUAGE ?= python ;
|
||||||
SWIG.SIMPLE.EXT ?= py ;
|
SWIG.SIMPLE.EXT ?= py ;
|
||||||
SWIG.SIMPLE.FLAGS ?= -c++ -shadow ;
|
SWIG.SIMPLE.FLAGS ?= -c++ -shadow ;
|
||||||
|
|
||||||
## SimpleSwig swigfile
|
## SimpleSwig swigfile
|
||||||
## Given a Swig input file (.i), invokes Swig to generate a .cpp file with
|
## Given a Swig input file (.i), invokes Swig to generate a .cpp file with
|
||||||
## the same basename, and a script file with the same basename.
|
## the same basename, and a script file with the same basename.
|
||||||
## SWIG.SIMPLE.LANGUAGE specifies the language for which Swig should emit a
|
## SWIG.SIMPLE.LANGUAGE specifies the language for which Swig should emit a
|
||||||
## binding; SWIG.SIMPLE.EXT indicates the file extension of the generated
|
## binding; SWIG.SIMPLE.EXT indicates the file extension of the generated
|
||||||
## script file; SWIG.SIMPLE.FLAGS specifies additional flags for Swig.
|
## script file; SWIG.SIMPLE.FLAGS specifies additional flags for Swig.
|
||||||
rule SimpleSwig
|
rule SimpleSwig
|
||||||
{
|
{
|
||||||
local object = [ DoObjectGrist $(<:S=$(SUFOBJ)) ] ;
|
local object = [ DoObjectGrist $(<:S=$(SUFOBJ)) ] ;
|
||||||
local cppfile = $(<:S=.cpp) ;
|
local cppfile = $(<:S=.cpp) ;
|
||||||
local script = $(<:S=.$(SWIG.SIMPLE.EXT)) ;
|
local script = $(<:S=.$(SWIG.SIMPLE.EXT)) ;
|
||||||
|
|
||||||
C++ $(object) : $(cppfile) ;
|
C++ $(object) : $(cppfile) ;
|
||||||
Swig $(cppfile) $(script) : $(<) : $(SWIG.SIMPLE.LANGUAGE) :
|
Swig $(cppfile) $(script) : $(<) : $(SWIG.SIMPLE.LANGUAGE) :
|
||||||
$(SWIG.SIMPLE.FLAGS) ;
|
$(SWIG.SIMPLE.FLAGS) ;
|
||||||
|
|
||||||
return $(object) ;
|
return $(object) ;
|
||||||
}
|
}
|
||||||
RegisterFileType SimpleSwig : .i ;
|
RegisterFileType SimpleSwig : .i ;
|
||||||
|
|
||||||
if ! $(NO_SWIG_HEADER_SCANNING)
|
if ! $(NO_SWIG_HEADER_SCANNING)
|
||||||
{
|
{
|
||||||
SWIG.HDRPATTERN =
|
SWIG.HDRPATTERN =
|
||||||
"^[ ]*[%#][ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
"^[ ]*[%#][ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
|
||||||
RegisterHeaderRule HeaderRule : $(SWIG.HDRPATTERN) : .i ;
|
RegisterHeaderRule HeaderRule : $(SWIG.HDRPATTERN) : .i ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1152
mk/jam/unittest.jam
1152
mk/jam/unittest.jam
File diff suppressed because it is too large
Load Diff
318
mk/jam/unix.jam
318
mk/jam/unix.jam
@@ -1,159 +1,159 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Jam configuration and actions for Unix (GNU/Linux, BSD, Darwin, etc.)
|
# Jam configuration and actions for Unix (GNU/Linux, BSD, Darwin, etc.)
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
SHELL ?= "/bin/sh" ;
|
SHELL ?= "/bin/sh" ;
|
||||||
|
|
||||||
# Only use nasm on x86 for now...
|
# Only use nasm on x86 for now...
|
||||||
NASM.FLAGS += -f elf ;
|
NASM.FLAGS += -f elf ;
|
||||||
|
|
||||||
PLUGIN.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
PLUGIN.CFLAGS += $(COMPILER.C++FLAGS.PIC) ;
|
||||||
LIBRARY.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.
|
# The BFD tag name under which to embed meta-information into a plugin module.
|
||||||
# This much match the name expected by csGetPluginMetadata() (bfdplugins.cpp).
|
# This much match the name expected by csGetPluginMetadata() (bfdplugins.cpp).
|
||||||
SECTION_TAG_NAME ?= .crystalspace ;
|
SECTION_TAG_NAME ?= .crystalspace ;
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# platform specific rules
|
# platform specific rules
|
||||||
|
|
||||||
## ConstructApplicationTarget target : options
|
## ConstructApplicationTarget target : options
|
||||||
## Constructs the application target name (ie. foo.exe for foo)
|
## Constructs the application target name (ie. foo.exe for foo)
|
||||||
rule ConstructApplicationTarget
|
rule ConstructApplicationTarget
|
||||||
{
|
{
|
||||||
return $(<) ;
|
return $(<) ;
|
||||||
}
|
}
|
||||||
rule ConstructStaticLibraryTarget
|
rule ConstructStaticLibraryTarget
|
||||||
{
|
{
|
||||||
return lib$(<)$(SUFLIB) ;
|
return lib$(<)$(SUFLIB) ;
|
||||||
}
|
}
|
||||||
rule ConstructSharedLibraryTarget
|
rule ConstructSharedLibraryTarget
|
||||||
{
|
{
|
||||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||||
}
|
}
|
||||||
rule ConstructSharedLibraryLinkLib
|
rule ConstructSharedLibraryLinkLib
|
||||||
{
|
{
|
||||||
return lib$(<).so.$(PACKAGE_VERSION) ;
|
return lib$(<).so.$(PACKAGE_VERSION) ;
|
||||||
}
|
}
|
||||||
rule ConstructPluginTarget
|
rule ConstructPluginTarget
|
||||||
{
|
{
|
||||||
return $(<).so ;
|
return $(<).so ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemLinkApplication target : objects : options
|
# SystemLinkApplication target : objects : options
|
||||||
# do system specific actions needed for linking the application and construct
|
# do system specific actions needed for linking the application and construct
|
||||||
# correct clean targets.
|
# correct clean targets.
|
||||||
rule SystemLinkApplication
|
rule SystemLinkApplication
|
||||||
{
|
{
|
||||||
local target = $($(<)_TARGET) ;
|
local target = $($(<)_TARGET) ;
|
||||||
|
|
||||||
Depends $(target) : $(>) ;
|
Depends $(target) : $(>) ;
|
||||||
LinkApplication $(target) : $(>) ;
|
LinkApplication $(target) : $(>) ;
|
||||||
# setup clean rules
|
# setup clean rules
|
||||||
Clean clean : $(target) ;
|
Clean clean : $(target) ;
|
||||||
Clean $(<)clean : $(target) ;
|
Clean $(<)clean : $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SystemInstallApplication
|
rule SystemInstallApplication
|
||||||
{
|
{
|
||||||
Depends install_bin :
|
Depends install_bin :
|
||||||
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
[ DoInstall $(<) : $(bindir) $(2) : $(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SystemInstallPlugin
|
rule SystemInstallPlugin
|
||||||
{
|
{
|
||||||
Depends install_plugin : [ DoInstall $(<) : $(plugindir) $(2) :
|
Depends install_plugin : [ DoInstall $(<) : $(plugindir) $(2) :
|
||||||
$(INSTALL_PROGRAM) ] ;
|
$(INSTALL_PROGRAM) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Put the meta data into the object file headers
|
# Put the meta data into the object file headers
|
||||||
rule ObjTagMetaData
|
rule ObjTagMetaData
|
||||||
{
|
{
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
}
|
}
|
||||||
actions ObjTagMetaData
|
actions ObjTagMetaData
|
||||||
{
|
{
|
||||||
$(CMD.OBJCOPY) --add-section $(SECTION_TAG_NAME)=$(>) $(<)
|
$(CMD.OBJCOPY) --add-section $(SECTION_TAG_NAME)=$(>) $(<)
|
||||||
}
|
}
|
||||||
|
|
||||||
# SystemLinkPlugin target : objects : options
|
# SystemLinkPlugin target : objects : options
|
||||||
# do system specific actions needed for linking the plugin and construct
|
# do system specific actions needed for linking the plugin and construct
|
||||||
# correct clean targets.
|
# correct clean targets.
|
||||||
rule SystemLinkPlugin
|
rule SystemLinkPlugin
|
||||||
{
|
{
|
||||||
local target = $($(<)_TARGET) ;
|
local target = $($(<)_TARGET) ;
|
||||||
|
|
||||||
Depends $(target) : $(>) ;
|
Depends $(target) : $(>) ;
|
||||||
LinkPlugin $(target) : $(>) ;
|
LinkPlugin $(target) : $(>) ;
|
||||||
if $(EMBED_META) = "yes" && $(OBJCOPY.AVAILABLE) = "yes"
|
if $(EMBED_META) = "yes" && $(OBJCOPY.AVAILABLE) = "yes"
|
||||||
{
|
{
|
||||||
ObjTagMetaData $(target) : $($(<)_METAFILE) ;
|
ObjTagMetaData $(target) : $($(<)_METAFILE) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
PluginMetaData $(<) : $($(<)_METAFILE) : $(3) ;
|
||||||
}
|
}
|
||||||
# setup clean rules
|
# setup clean rules
|
||||||
Clean clean : $(target) ;
|
Clean clean : $(target) ;
|
||||||
Clean $(<)clean : $(target) ;
|
Clean $(<)clean : $(target) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule SystemLinkSharedLibrary
|
rule SystemLinkSharedLibrary
|
||||||
{
|
{
|
||||||
LFlags $(<) : $(LINKLIBS) ;
|
LFlags $(<) : $(LINKLIBS) ;
|
||||||
Depends $(<) : $(>) ;
|
Depends $(<) : $(>) ;
|
||||||
local response = $(<).resp ;
|
local response = $(<).resp ;
|
||||||
MakeLocate $(response) : $(LOCATE.OBJECTS)/libs ;
|
MakeLocate $(response) : $(LOCATE.OBJECTS)/libs ;
|
||||||
ResponseFile $(response) : $(>) ;
|
ResponseFile $(response) : $(>) ;
|
||||||
# @@@ FIXME: response files are only supported on newer binutils
|
# @@@ FIXME: response files are only supported on newer binutils
|
||||||
# But quite useful to avoid blowing jam's 10240 max action length.
|
# But quite useful to avoid blowing jam's 10240 max action length.
|
||||||
#Depends $(response) : $(>) ;
|
#Depends $(response) : $(>) ;
|
||||||
#Depends $(<) : $(response) ;
|
#Depends $(<) : $(response) ;
|
||||||
#LinkSharedLibrary $(<) : $(response) ;
|
#LinkSharedLibrary $(<) : $(response) ;
|
||||||
LinkSharedLibrary $(<) : $(>) ;
|
LinkSharedLibrary $(<) : $(>) ;
|
||||||
|
|
||||||
Clean clean : $(<) ;
|
Clean clean : $(<) ;
|
||||||
Clean $(<)clean : $(<) ;
|
Clean $(<)clean : $(<) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions LinkApplication bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkApplication bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(PLUGIN.LFLAGS.USE_SONAME) = "yes"
|
if $(PLUGIN.LFLAGS.USE_SONAME) = "yes"
|
||||||
{
|
{
|
||||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||||
-Wl,-soname,$(<:BS)
|
-Wl,-soname,$(<:BS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkPlugin bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
$(CMD.LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
actions LinkSharedLibrary bind NEEDLIBS bind EXTRAOBJECTS
|
actions LinkSharedLibrary bind NEEDLIBS bind EXTRAOBJECTS
|
||||||
{
|
{
|
||||||
$(CMD.LINK) -shared -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
$(CMD.LINK) -shared -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LINKLIBS) \
|
||||||
-Wl,-soname,$(<:BS)
|
-Wl,-soname,$(<:BS)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
# Setup of compiler/linker flags for debug/optimize mode
|
# Setup of compiler/linker flags for debug/optimize mode
|
||||||
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
# Copyright (C)2003 by Matze Braun <matzebraun@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This library is free software; you can redistribute it and/or modify it
|
# 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
|
# 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
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
||||||
# option) any later version.
|
# option) any later version.
|
||||||
#
|
#
|
||||||
# This library is distributed in the hope that it will be useful, but
|
# This library is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
||||||
# License for more details.
|
# License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Library General Public License
|
# 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,
|
# along with this library; if not, write to the Free Software Foundation,
|
||||||
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
#
|
#
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
if ! $(VARIANT)
|
if ! $(VARIANT)
|
||||||
{
|
{
|
||||||
VARIANT = $(MODE) ;
|
VARIANT = $(MODE) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if $(VARIANT) != "debug" && $(VARIANT) != "optimize" && $(VARIANT) != "profile"
|
if $(VARIANT) != "debug" && $(VARIANT) != "optimize" && $(VARIANT) != "profile"
|
||||||
{
|
{
|
||||||
exit "Invalid modus set, please set VARIANT to debug, profile or optimize" ;
|
exit "Invalid modus set, please set VARIANT to debug, profile or optimize" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set modus related flags
|
# Set modus related flags
|
||||||
CCFLAGS += $(COMPILER.CFLAGS) $(COMPILER.CFLAGS.$(VARIANT)) ;
|
CCFLAGS += $(COMPILER.CFLAGS) $(COMPILER.CFLAGS.$(VARIANT)) ;
|
||||||
C++FLAGS += $(COMPILER.CFLAGS) $(COMPILER.C++FLAGS)
|
C++FLAGS += $(COMPILER.CFLAGS) $(COMPILER.C++FLAGS)
|
||||||
$(COMPILER.CFLAGS.$(VARIANT)) $(COMPILER.C++FLAGS.$(VARIANT)) ;
|
$(COMPILER.CFLAGS.$(VARIANT)) $(COMPILER.C++FLAGS.$(VARIANT)) ;
|
||||||
LINKLIBS += $(COMPILER.LFLAGS) $(COMPILER.LFLAGS.$(VARIANT)) ;
|
LINKLIBS += $(COMPILER.LFLAGS) $(COMPILER.LFLAGS.$(VARIANT)) ;
|
||||||
LOCATE.OBJECTS = $(LOCATE.OBJECTS)/$(VARIANT) ;
|
LOCATE.OBJECTS = $(LOCATE.OBJECTS)/$(VARIANT) ;
|
||||||
|
|
||||||
## SubVariant variantname
|
## SubVariant variantname
|
||||||
## Specify subvariant which are placed in separate compilation directories.
|
## Specify subvariant which are placed in separate compilation directories.
|
||||||
SUBVARIANT ?= "" ;
|
SUBVARIANT ?= "" ;
|
||||||
SAVED_LOCATE_TARGET = "" ;
|
SAVED_LOCATE_TARGET = "" ;
|
||||||
rule SubVariant
|
rule SubVariant
|
||||||
{
|
{
|
||||||
if ! $(<)
|
if ! $(<)
|
||||||
{
|
{
|
||||||
SUBVARIANT = $(SUBVARIANT[2]) ;
|
SUBVARIANT = $(SUBVARIANT[2]) ;
|
||||||
SUBVARIANT ?= "" ;
|
SUBVARIANT ?= "" ;
|
||||||
LOCATE_TARGET = $(SAVED_LOCATE_TARGET[1]) ;
|
LOCATE_TARGET = $(SAVED_LOCATE_TARGET[1]) ;
|
||||||
SAVED_LOCATE_TARGET = $(SAVED_LOCATE_TARGET[2-]) ;
|
SAVED_LOCATE_TARGET = $(SAVED_LOCATE_TARGET[2-]) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SUBVARIANT = $(<) $(SUBVARIANT) ;
|
SUBVARIANT = $(<) $(SUBVARIANT) ;
|
||||||
SAVED_LOCATE_TARGET = $(LOCATE_TARGET) $(SAVED_LOCATE_TARGET) ;
|
SAVED_LOCATE_TARGET = $(LOCATE_TARGET) $(SAVED_LOCATE_TARGET) ;
|
||||||
LOCATE_TARGET = $(LOCATE_TARGET)/$(<) ;
|
LOCATE_TARGET = $(LOCATE_TARGET)/$(<) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
1126
mk/jam/win32.jam
1126
mk/jam/win32.jam
File diff suppressed because it is too large
Load Diff
@@ -108,6 +108,10 @@ SOURCE=..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp
|
SOURCE=..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@@ -164,6 +168,10 @@ SOURCE=..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h
|
SOURCE=..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|||||||
@@ -162,6 +162,9 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
@@ -205,6 +208,9 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h">
|
||||||
</File>
|
</File>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="7.10"
|
Version="7.10"
|
||||||
@@ -16,23 +16,23 @@
|
|||||||
OutputDirectory="..\..\out\release71\build\appColladaDemo\"
|
OutputDirectory="..\..\out\release71\build\appColladaDemo\"
|
||||||
IntermediateDirectory="..\..\out\release71\build\appColladaDemo\"
|
IntermediateDirectory="..\..\out\release71\build\appColladaDemo\"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
WholeProgramOptimization="TRUE">
|
WholeProgramOptimization="1"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
OptimizeForProcessor="1"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics;..\..\Extras\FCollada;..\..\Extras\FCollada\LibXML\include"
|
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN32"
|
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
BufferSecurityCheck="FALSE"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
EnableFunctionLevelLinking="TRUE"
|
||||||
TreatWChar_tAsBuiltInType="FALSE"
|
RuntimeLibrary="2"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
BufferSecurityCheck="FALSE"
|
||||||
|
PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
PrecompiledHeaderFile="..\..\out\release71\build\appColladaDemo\appColladaDemo.pch"
|
PrecompiledHeaderFile="..\..\out\release71\build\appColladaDemo\appColladaDemo.pch"
|
||||||
AssemblerListingLocation="..\..\out\release71\build\appColladaDemo\"
|
AssemblerListingLocation="..\..\out\release71\build\appColladaDemo\"
|
||||||
ObjectFile="..\..\out\release71\build\appColladaDemo\"
|
ObjectFile="..\..\out\release71\build\appColladaDemo\"
|
||||||
@@ -40,26 +40,29 @@
|
|||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="3"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"/>
|
CompileAs="0"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
IgnoreImportLibrary="TRUE"
|
|
||||||
AdditionalOptions=" "
|
|
||||||
AdditionalDependencies="glut32.lib"
|
|
||||||
OutputFile="..\..\ColladaDemo.exe"
|
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
AdditionalLibraryDirectories="..\..\Glut"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
|
||||||
GenerateDebugInformation="TRUE"
|
|
||||||
ProgramDatabaseFile="..\..\out\release71\build\appColladaDemo\ColladaDemo.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
||||||
|
OutputFile="..\..\ColladaDemo.exe"
|
||||||
|
SubSystem="1"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalDependencies="glut32.lib"
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\..\Glut"
|
||||||
|
ProgramDatabaseFile="..\..\out\release71\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
TargetMachine="1"/>
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
SuppressStartupBanner="TRUE"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||||
@@ -68,7 +71,8 @@
|
|||||||
TargetEnvironment="1"
|
TargetEnvironment="1"
|
||||||
TypeLibraryName="..\..\out\release71\build\appColladaDemo\appColladaDemo.tlb"/>
|
TypeLibraryName="..\..\out\release71\build\appColladaDemo\appColladaDemo.tlb"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"/>
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"/>
|
Name="VCPreBuildEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -76,39 +80,33 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE;PROJECTGEN_VERSION=71"
|
PreprocessorDefinitions="NDEBUG;_CONSOLE;PROJECTGEN_VERSION=71"
|
||||||
Culture="1033"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"/>
|
Name="VCWebDeploymentTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="..\..\out\debug71\build\appColladaDemo\"
|
OutputDirectory="..\..\out\debug71\build\appColladaDemo\"
|
||||||
IntermediateDirectory="..\..\out\debug71\build\appColladaDemo\"
|
IntermediateDirectory="..\..\out\debug71\build\appColladaDemo\"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
OptimizeForProcessor="1"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics;..\..\Extras\FCollada;..\..\Extras\FCollada\LibXML\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN32"
|
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
DebugInformationFormat="4"
|
||||||
RuntimeLibrary="3"
|
|
||||||
TreatWChar_tAsBuiltInType="FALSE"
|
|
||||||
RuntimeTypeInfo="TRUE"
|
RuntimeTypeInfo="TRUE"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
PrecompiledHeaderFile="..\..\out\debug71\build\appColladaDemo\appColladaDemo.pch"
|
PrecompiledHeaderFile="..\..\out\debug71\build\appColladaDemo\appColladaDemo.pch"
|
||||||
AssemblerListingLocation="..\..\out\debug71\build\appColladaDemo\"
|
AssemblerListingLocation="..\..\out\debug71\build\appColladaDemo\"
|
||||||
ObjectFile="..\..\out\debug71\build\appColladaDemo\"
|
ObjectFile="..\..\out\debug71\build\appColladaDemo\"
|
||||||
@@ -116,24 +114,27 @@
|
|||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="4"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"/>
|
CompileAs="0"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
IgnoreImportLibrary="TRUE"
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
||||||
|
OutputFile="..\..\ColladaDemo.exe"
|
||||||
|
SubSystem="1"
|
||||||
AdditionalOptions=" "
|
AdditionalOptions=" "
|
||||||
AdditionalDependencies="glut32.lib"
|
AdditionalDependencies="glut32.lib"
|
||||||
OutputFile="..\..\ColladaDemo.exe"
|
IgnoreImportLibrary="TRUE"
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
AdditionalLibraryDirectories="..\..\Glut"
|
AdditionalLibraryDirectories="..\..\Glut"
|
||||||
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
|
||||||
GenerateDebugInformation="TRUE"
|
|
||||||
ProgramDatabaseFile="..\..\out\debug71\build\appColladaDemo\ColladaDemo.pdb"
|
ProgramDatabaseFile="..\..\out\debug71\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"/>
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
SuppressStartupBanner="TRUE"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||||
@@ -142,7 +143,8 @@
|
|||||||
TargetEnvironment="1"
|
TargetEnvironment="1"
|
||||||
TypeLibraryName="..\..\out\debug71\build\appColladaDemo\appColladaDemo.tlb"/>
|
TypeLibraryName="..\..\out\debug71\build\appColladaDemo\appColladaDemo.tlb"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"/>
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"/>
|
Name="VCPreBuildEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -150,22 +152,14 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;PROJECTGEN_VERSION=71"
|
PreprocessorDefinitions="_DEBUG;_CONSOLE;PROJECTGEN_VERSION=71"
|
||||||
Culture="1033"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"/>
|
Name="VCWebDeploymentTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
<Files>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="7.10"
|
Version="7.10"
|
||||||
@@ -20,17 +20,17 @@
|
|||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
OptimizeForProcessor="1"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;WIN32"
|
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
BufferSecurityCheck="FALSE"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
EnableFunctionLevelLinking="TRUE"
|
||||||
TreatWChar_tAsBuiltInType="FALSE"
|
RuntimeLibrary="2"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
BufferSecurityCheck="FALSE"
|
||||||
|
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
PrecompiledHeaderFile="..\..\out\release71\build\libbulletdynamics\libbulletdynamics.pch"
|
PrecompiledHeaderFile="..\..\out\release71\build\libbulletdynamics\libbulletdynamics.pch"
|
||||||
AssemblerListingLocation="..\..\out\release71\build\libbulletdynamics\"
|
AssemblerListingLocation="..\..\out\release71\build\libbulletdynamics\"
|
||||||
ObjectFile="..\..\out\release71\build\libbulletdynamics\"
|
ObjectFile="..\..\out\release71\build\libbulletdynamics\"
|
||||||
@@ -38,10 +38,24 @@
|
|||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="3"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"/>
|
CompileAs="0"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalDependencies=""
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
|
ProgramDatabaseFile="..\..\out\release71\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="..\..\out\release71\libs\libbulletdynamics.lib"
|
OutputFile="..\..\out\release71\libs\libbulletdynamics.lib"
|
||||||
@@ -54,7 +68,8 @@
|
|||||||
TargetEnvironment="1"
|
TargetEnvironment="1"
|
||||||
TypeLibraryName="..\..\out\release71\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
TypeLibraryName="..\..\out\release71\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"/>
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"/>
|
Name="VCPreBuildEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -62,16 +77,12 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=71"
|
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=71"
|
||||||
Culture="1033"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
Name="VCWebDeploymentTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
@@ -82,16 +93,16 @@
|
|||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
OptimizeForProcessor="1"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
|
||||||
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;WIN32"
|
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
ExceptionHandling="FALSE"
|
DebugInformationFormat="4"
|
||||||
RuntimeLibrary="3"
|
|
||||||
TreatWChar_tAsBuiltInType="FALSE"
|
|
||||||
RuntimeTypeInfo="TRUE"
|
RuntimeTypeInfo="TRUE"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
PrecompiledHeaderFile="..\..\out\debug71\build\libbulletdynamics\libbulletdynamics.pch"
|
PrecompiledHeaderFile="..\..\out\debug71\build\libbulletdynamics\libbulletdynamics.pch"
|
||||||
AssemblerListingLocation="..\..\out\debug71\build\libbulletdynamics\"
|
AssemblerListingLocation="..\..\out\debug71\build\libbulletdynamics\"
|
||||||
ObjectFile="..\..\out\debug71\build\libbulletdynamics\"
|
ObjectFile="..\..\out\debug71\build\libbulletdynamics\"
|
||||||
@@ -99,10 +110,22 @@
|
|||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="4"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"/>
|
CompileAs="0"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalDependencies=""
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
|
ProgramDatabaseFile="..\..\out\debug71\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="..\..\out\debug71\libs\libbulletdynamics_d.lib"
|
OutputFile="..\..\out\debug71\libs\libbulletdynamics_d.lib"
|
||||||
@@ -115,7 +138,8 @@
|
|||||||
TargetEnvironment="1"
|
TargetEnvironment="1"
|
||||||
TypeLibraryName="..\..\out\debug71\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
TypeLibraryName="..\..\out\debug71\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"/>
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"/>
|
Name="VCPreBuildEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@@ -123,32 +147,23 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=71"
|
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=71"
|
||||||
Culture="1033"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
Name="VCWebDeploymentTool"/>
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
<Files>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
Filter="">
|
Filter="">
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp">
|
||||||
@@ -159,9 +174,6 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.cpp">
|
||||||
</File>
|
</File>
|
||||||
@@ -174,13 +186,19 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.cpp">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.cpp">
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="">
|
Filter="">
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.h">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ConstraintSolver.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ConstraintSolver.h">
|
||||||
</File>
|
</File>
|
||||||
@@ -188,10 +206,10 @@
|
|||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h">
|
||||||
@@ -199,18 +217,12 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\JacobianEntry.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\JacobianEntry.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\MassProps.h">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.h">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.h">
|
||||||
</File>
|
</File>
|
||||||
@@ -223,13 +235,19 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.h">
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\MassProps.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.h">
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h">
|
|
||||||
</File>
|
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,244 +1,178 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="appColladaDemo"
|
Name="appColladaDemo"
|
||||||
ProjectGUID="{D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF}"
|
ProjectGUID="{D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF}"
|
||||||
>
|
SccProjectName=""
|
||||||
|
SccLocalPath="">
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"/>
|
||||||
/>
|
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="..\..\out\release8\build\appColladaDemo\"
|
OutputDirectory="..\..\out\release8\build\appColladaDemo\"
|
||||||
IntermediateDirectory="..\..\out\release8\build\appColladaDemo\"
|
IntermediateDirectory="..\..\out\release8\build\appColladaDemo\"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
UseOfMFC="0"
|
||||||
<Tool
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName="..\..\out\release8\build\appColladaDemo\appColladaDemo.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics;..\..\Extras\FCollada;..\..\Extras\FCollada\LibXML\include;..\..\Extras\COLLADA_DOM\include;..\..\Extras\COLLADA_DOM\include\1.4"
|
StringPooling="TRUE"
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN32"
|
EnableFunctionLevelLinking="TRUE"
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
BufferSecurityCheck="false"
|
DebugInformationFormat="3"
|
||||||
EnableFunctionLevelLinking="true"
|
BufferSecurityCheck="FALSE"
|
||||||
TreatWChar_tAsBuiltInType="false"
|
PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
PrecompiledHeaderFile="..\..\out\release8\build\appColladaDemo\appColladaDemo.pch"
|
PrecompiledHeaderFile="..\..\out\release8\build\appColladaDemo\appColladaDemo.pch"
|
||||||
AssemblerListingLocation="..\..\out\release8\build\appColladaDemo\"
|
AssemblerListingLocation="..\..\out\release8\build\appColladaDemo\"
|
||||||
ObjectFile="..\..\out\release8\build\appColladaDemo\"
|
ObjectFile="..\..\out\release8\build\appColladaDemo\"
|
||||||
ProgramDataBaseFileName="..\..\out\release8\build\appColladaDemo\ColladaDemo.pdb"
|
ProgramDataBaseFileName="..\..\out\release8\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="3"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"
|
CompileAs="0"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCCustomBuildTool"/>
|
||||||
/>
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
||||||
|
OutputFile="..\..\ColladaDemo.exe"
|
||||||
|
SubSystem="1"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalDependencies="glut32.lib"
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\..\Glut"
|
||||||
|
ProgramDatabaseFile="..\..\out\release8\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
SuppressStartupBanner="TRUE"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName="..\..\out\release8\build\appColladaDemo\appColladaDemo.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="NDEBUG;_CONSOLE;PROJECTGEN_VERSION=8"
|
PreprocessorDefinitions="NDEBUG;_CONSOLE;PROJECTGEN_VERSION=8"
|
||||||
Culture="1033"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCWebDeploymentTool"/>
|
||||||
IgnoreImportLibrary="true"
|
|
||||||
AdditionalOptions=" "
|
|
||||||
AdditionalDependencies="glut32.lib"
|
|
||||||
OutputFile="..\..\ColladaDemo.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
AdditionalLibraryDirectories="..\..\Glut"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="..\..\out\release8\build\appColladaDemo\ColladaDemo.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="..\..\out\debug8\build\appColladaDemo\"
|
OutputDirectory="..\..\out\debug8\build\appColladaDemo\"
|
||||||
IntermediateDirectory="..\..\out\debug8\build\appColladaDemo\"
|
IntermediateDirectory="..\..\out\debug8\build\appColladaDemo\"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
UseOfMFC="0"
|
||||||
<Tool
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName="..\..\out\debug8\build\appColladaDemo\appColladaDemo.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics;..\..\Extras\FCollada;..\..\Extras\FCollada\LibXML\include;..\..\Extras\COLLADA_DOM\include;..\..\Extras\COLLADA_DOM\include\1.4"
|
MinimalRebuild="TRUE"
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN32"
|
DebugInformationFormat="4"
|
||||||
MinimalRebuild="true"
|
RuntimeTypeInfo="TRUE"
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
TreatWChar_tAsBuiltInType="false"
|
PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN32"
|
||||||
RuntimeTypeInfo="true"
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
PrecompiledHeaderFile="..\..\out\debug8\build\appColladaDemo\appColladaDemo.pch"
|
PrecompiledHeaderFile="..\..\out\debug8\build\appColladaDemo\appColladaDemo.pch"
|
||||||
AssemblerListingLocation="..\..\out\debug8\build\appColladaDemo\"
|
AssemblerListingLocation="..\..\out\debug8\build\appColladaDemo\"
|
||||||
ObjectFile="..\..\out\debug8\build\appColladaDemo\"
|
ObjectFile="..\..\out\debug8\build\appColladaDemo\"
|
||||||
ProgramDataBaseFileName="..\..\out\debug8\build\appColladaDemo\ColladaDemo.pdb"
|
ProgramDataBaseFileName="..\..\out\debug8\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="4"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"
|
CompileAs="0"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCCustomBuildTool"/>
|
||||||
/>
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
||||||
|
OutputFile="..\..\ColladaDemo.exe"
|
||||||
|
SubSystem="1"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalDependencies="glut32.lib"
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\..\Glut"
|
||||||
|
ProgramDatabaseFile="..\..\out\debug8\build\appColladaDemo\ColladaDemo.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
SuppressStartupBanner="TRUE"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName="..\..\out\debug8\build\appColladaDemo\appColladaDemo.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;PROJECTGEN_VERSION=8"
|
PreprocessorDefinitions="_DEBUG;_CONSOLE;PROJECTGEN_VERSION=8"
|
||||||
Culture="1033"
|
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath;..\..\Extras\PhysicsInterface\Common;..\..\Extras\ConvexDecomposition;..\..\Glut;..\..\Demos\OpenGL;..\..\Extras\PhysicsInterface\CcdPhysics"
|
||||||
/>
|
Culture="1033"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCWebDeploymentTool"/>
|
||||||
IgnoreImportLibrary="true"
|
|
||||||
AdditionalOptions=" "
|
|
||||||
AdditionalDependencies="glut32.lib"
|
|
||||||
OutputFile="..\..\ColladaDemo.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
AdditionalLibraryDirectories="..\..\Glut"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="..\..\out\debug8\build\appColladaDemo\ColladaDemo.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
<Files>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
>
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\Demos\ColladaDemo\ColladaDemo.cpp"
|
RelativePath="..\..\Demos\ColladaDemo\ColladaDemo.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Resource Files"
|
Name="Resource Files"
|
||||||
>
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\msvc\appColladaDemo.rc"
|
RelativePath="..\..\msvc\appColladaDemo.rc">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
|
|||||||
@@ -1,18 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="libbulletdynamics"
|
Name="libbulletdynamics"
|
||||||
ProjectGUID="{61BD1097-CF2E-B296-DAA9-73A6FE135319}"
|
ProjectGUID="{61BD1097-CF2E-B296-DAA9-73A6FE135319}"
|
||||||
RootNamespace="libbulletdynamics"
|
SccProjectName=""
|
||||||
>
|
SccLocalPath="">
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"/>
|
||||||
/>
|
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
@@ -20,82 +17,72 @@
|
|||||||
IntermediateDirectory="..\..\out\release8\build\libbulletdynamics\"
|
IntermediateDirectory="..\..\out\release8\build\libbulletdynamics\"
|
||||||
ConfigurationType="4"
|
ConfigurationType="4"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName="..\..\out\release8\build\libbulletdynamics\libbulletdynamics.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
StringPooling="TRUE"
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;WIN32"
|
EnableFunctionLevelLinking="TRUE"
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
BufferSecurityCheck="false"
|
DebugInformationFormat="3"
|
||||||
EnableFunctionLevelLinking="true"
|
BufferSecurityCheck="FALSE"
|
||||||
TreatWChar_tAsBuiltInType="false"
|
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;WIN32"
|
||||||
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
PrecompiledHeaderFile="..\..\out\release8\build\libbulletdynamics\libbulletdynamics.pch"
|
PrecompiledHeaderFile="..\..\out\release8\build\libbulletdynamics\libbulletdynamics.pch"
|
||||||
AssemblerListingLocation="..\..\out\release8\build\libbulletdynamics\"
|
AssemblerListingLocation="..\..\out\release8\build\libbulletdynamics\"
|
||||||
ObjectFile="..\..\out\release8\build\libbulletdynamics\"
|
ObjectFile="..\..\out\release8\build\libbulletdynamics\"
|
||||||
ProgramDataBaseFileName="..\..\out\release8\build\libbulletdynamics\bulletdynamics.pdb"
|
ProgramDataBaseFileName="..\..\out\release8\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="3"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"
|
CompileAs="0"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCCustomBuildTool"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCLinkerTool"
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=8"
|
LinkIncremental="1"
|
||||||
Culture="1033"
|
OptimizeReferences="2"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
EnableCOMDATFolding="2"
|
||||||
/>
|
GenerateDebugInformation="TRUE"
|
||||||
<Tool
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD"
|
||||||
Name="VCPreLinkEventTool"
|
AdditionalOptions=" "
|
||||||
/>
|
AdditionalDependencies=""
|
||||||
|
IgnoreImportLibrary="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
|
ProgramDatabaseFile="..\..\out\release8\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="..\..\out\release8\libs\libbulletdynamics.lib"
|
OutputFile="..\..\out\release8\libs\libbulletdynamics.lib"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS"
|
||||||
<Tool
|
MkTypLibCompatible="TRUE"
|
||||||
Name="VCXDCMakeTool"
|
SuppressStartupBanner="TRUE"
|
||||||
/>
|
TargetEnvironment="1"
|
||||||
<Tool
|
TypeLibraryName="..\..\out\release8\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=8"
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
@@ -103,204 +90,162 @@
|
|||||||
IntermediateDirectory="..\..\out\debug8\build\libbulletdynamics\"
|
IntermediateDirectory="..\..\out\debug8\build\libbulletdynamics\"
|
||||||
ConfigurationType="4"
|
ConfigurationType="4"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName="..\..\out\debug8\build\libbulletdynamics\libbulletdynamics.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions=" "
|
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
MinimalRebuild="TRUE"
|
||||||
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;WIN32"
|
DebugInformationFormat="4"
|
||||||
MinimalRebuild="true"
|
RuntimeTypeInfo="TRUE"
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
TreatWChar_tAsBuiltInType="false"
|
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;WIN32"
|
||||||
RuntimeTypeInfo="true"
|
OptimizeForProcessor="1"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
AdditionalOptions=" "
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
PrecompiledHeaderFile="..\..\out\debug8\build\libbulletdynamics\libbulletdynamics.pch"
|
PrecompiledHeaderFile="..\..\out\debug8\build\libbulletdynamics\libbulletdynamics.pch"
|
||||||
AssemblerListingLocation="..\..\out\debug8\build\libbulletdynamics\"
|
AssemblerListingLocation="..\..\out\debug8\build\libbulletdynamics\"
|
||||||
ObjectFile="..\..\out\debug8\build\libbulletdynamics\"
|
ObjectFile="..\..\out\debug8\build\libbulletdynamics\"
|
||||||
ProgramDataBaseFileName="..\..\out\debug8\build\libbulletdynamics\bulletdynamics.pdb"
|
ProgramDataBaseFileName="..\..\out\debug8\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
DebugInformationFormat="4"
|
TreatWChar_tAsBuiltInType="false"
|
||||||
CompileAs="0"
|
CompileAs="0"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCCustomBuildTool"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCLinkerTool"
|
||||||
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=8"
|
LinkIncremental="2"
|
||||||
Culture="1033"
|
GenerateDebugInformation="TRUE"
|
||||||
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
IgnoreDefaultLibraryNames="LIBC,LIBCD,LIBCMT,LIBCMTD,MSVCRT"
|
||||||
/>
|
AdditionalOptions=" "
|
||||||
<Tool
|
AdditionalDependencies=""
|
||||||
Name="VCPreLinkEventTool"
|
IgnoreImportLibrary="TRUE"
|
||||||
/>
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
|
ProgramDatabaseFile="..\..\out\debug8\build\libbulletdynamics\bulletdynamics.pdb"
|
||||||
|
TargetMachine="1"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="..\..\out\debug8\libs\libbulletdynamics_d.lib"
|
OutputFile="..\..\out\debug8\libs\libbulletdynamics_d.lib"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="TRUE"/>
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS"
|
||||||
<Tool
|
MkTypLibCompatible="TRUE"
|
||||||
Name="VCXDCMakeTool"
|
SuppressStartupBanner="TRUE"
|
||||||
/>
|
TargetEnvironment="1"
|
||||||
<Tool
|
TypeLibraryName="..\..\out\debug8\build\libbulletdynamics\libbulletdynamics.tlb"/>
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG;_LIB;_WINDOWS;PROJECTGEN_VERSION=8"
|
||||||
|
AdditionalIncludeDirectories=".;..\..;..\..\Bullet;..\..\BulletDynamics;..\..\LinearMath"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
<Files>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Source Files"
|
Name="Source Files"
|
||||||
>
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Solve2LinearConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SorLcp.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.cpp"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Solve2LinearConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SorLcp.cpp"
|
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.cpp"
|
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.cpp">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
>
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ConstraintSolver.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ConstraintSolver.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactConstraint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\ContactSolverInfo.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Generic6DofConstraint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\JacobianEntry.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\HingeConstraint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\JacobianEntry.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\MassProps.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\OdeConstraintSolver.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\Solve2LinearConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Point2PointConstraint.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\SorLcp.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.h"
|
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SimpleConstraintSolver.h"
|
RelativePath="..\..\BulletDynamics\Dynamics\BU_Joint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\Solve2LinearConstraint.h"
|
RelativePath="..\..\BulletDynamics\Dynamics\ContactJoint.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\SorLcp.h"
|
RelativePath="..\..\BulletDynamics\Dynamics\MassProps.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\BulletDynamics\ConstraintSolver\TypedConstraint.h"
|
RelativePath="..\..\BulletDynamics\Dynamics\RigidBody.h">
|
||||||
>
|
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
|
|||||||
1169
msvc/8/wksbullet.sln
1169
msvc/8/wksbullet.sln
File diff suppressed because it is too large
Load Diff
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "BasicSample"
|
VALUE "FileDescription", "BasicSample"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,31 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "CcdPhysicsDemo"
|
VALUE "FileDescription", "CcdPhysicsDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
APPICON ICON "bullet_ico.ico"
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "ColladaDemo"
|
VALUE "FileDescription", "ColladaDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
APPICON ICON "bullet_ico.ico"
|
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "CollisionDemo"
|
VALUE "FileDescription", "CollisionDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "CollisionInterfaceDemo"
|
VALUE "FileDescription", "CollisionInterfaceDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "ConcaveDemo"
|
VALUE "FileDescription", "ConcaveDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "ConstraintDemo"
|
VALUE "FileDescription", "ConstraintDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "ContinuousConvexCollision"
|
VALUE "FileDescription", "ContinuousConvexCollision"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,31 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "ConvexDecompositionDemo"
|
VALUE "FileDescription", "ConvexDecompositionDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
APPICON ICON "bullet_ico.ico"
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "EPAPenDepthDemo"
|
VALUE "FileDescription", "EPAPenDepthDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "GjkConvexCastDemo"
|
VALUE "FileDescription", "GjkConvexCastDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "Raytracer"
|
VALUE "FileDescription", "Raytracer"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
// This file is generated automatically.
|
// This file is generated automatically.
|
||||||
|
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 1, 1, 2006, 0319
|
FILEVERSION 1, 5, 6, 0
|
||||||
PRODUCTVERSION 1, 1, 2006, 0319
|
PRODUCTVERSION 1, 5, 6, 0
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
FILEFLAGS 0x1
|
FILEFLAGS 0x1
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0
|
FILEFLAGS 0x0
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
|
||||||
VALUE "ProductVersion", "1.1.2006.0319"
|
VALUE "ProductVersion", "1.5.6"
|
||||||
VALUE "FileVersion", "1.1.2006.0319"
|
VALUE "FileVersion", "1.5.6"
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
VALUE "LegalCopyright", "Copyright (c) 2005-2006 Erwin Coumans"
|
||||||
VALUE "FileDescription", "SimplexDemo"
|
VALUE "FileDescription", "SimplexDemo"
|
||||||
#ifdef CS_DEBUG
|
#ifdef CS_DEBUG
|
||||||
VALUE "Comments", "Debug build"
|
VALUE "Comments", "Debug build"
|
||||||
#else
|
#else
|
||||||
VALUE "Comments", "Release build"
|
VALUE "Comments", "Release build"
|
||||||
#endif
|
#endif
|
||||||
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
VALUE "WWW", "http://www.continuousphysics.com/Bullet/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1 ICON "../msvc/bullet_ico.ico"
|
||||||
|
|||||||
Reference in New Issue
Block a user