Author: vedge
Date: 2008-09-01 21:48:03 -0300 (Mon, 01 Sep 2008)
New Revision: 726
Added:
trunk/BSDBuild/agar-math.pm
Modified:
trunk/BSDBuild/Makefile
trunk/BSDBuild/edacious.pm
Log:
test for agar-math
Modified: trunk/BSDBuild/Makefile
===================================================================
--- trunk/BSDBuild/Makefile 2008-08-20 00:57:46 UTC (rev 725)
+++ trunk/BSDBuild/Makefile 2008-09-02 00:48:03 UTC (rev 726)
@@ -75,7 +75,6 @@
so_peercred.pm \
getpeereid.pm \
freesg.pm \
- freesg_m.pm \
math_c99.pm \
getopt.pm \
byte_order.pm \
@@ -86,7 +85,8 @@
dlopen.pm \
dyld.pm \
shl_load.pm \
- float_h.pm
+ float_h.pm \
+ agar-math.pm
all:
Added: trunk/BSDBuild/agar-math.pm
===================================================================
--- trunk/BSDBuild/agar-math.pm (rev 0)
+++ trunk/BSDBuild/agar-math.pm 2008-09-02 00:48:03 UTC (rev 726)
@@ -0,0 +1,123 @@
+# vim:ts=4
+#
+# Copyright (c) 2008 Hypertriton, Inc. <http://hypertriton.com/>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution..
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+# USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE..
+
+sub Test
+{
+ my ($ver) = @_;
+
+ MkExecOutput('agar-config', '--version', 'AGAR_VERSION');
+ MkExecOutput('agar-math-config', '--version', 'AGAR_MATH_VERSION');
+ MkIf('"${AGAR_VERSION}" != "" -a "${AGAR_MATH_VERSION}" != ""');
+ MkPrint('yes');
+ MkPrintN('checking whether FreeSG works...');
+ MkExecOutput('agar-config', '--cflags', 'AGAR_CFLAGS');
+ MkExecOutput('agar-config', '--libs', 'AGAR_LIBS');
+ MkExecOutput('agar-math-config', '--cflags',
'AGAR_MATH_CFLAGS');
+ MkExecOutput('agar-math-config', '--libs', 'AGAR_MATH_LIBS');
+ MkCompileC('HAVE_AGAR_MATH',
+ '${AGAR_MATH_CFLAGS} ${AGAR_CFLAGS}',
+ '${AGAR_MATH_LIBS} ${AGAR_LIBS}',
+ << 'EOF');
+#include <agar/core.h>
+#include <agar/math.h>
+int main(int argc, char *argv[]) {
+ M_Matrix *A = M_New(2,2);
+ AG_InitCore("test", 0);
+ M_InitSubsystem();
+ M_SetIdentity(A);
+ AG_Destroy();
+ return (0);
+}
+EOF
+ MkIf('"${HAVE_AGAR_MATH}" != ""');
+ MkSaveMK('AGAR_MATH_CFLAGS', 'AGAR_MATH_LIBS');
+ MkSaveDefine('AGAR_MATH_CFLAGS', 'AGAR_MATH_LIBS');
+ MkEndif;
+ MkElse;
+ MkPrint('no');
+ MkSaveUndef('HAVE_AGAR_MATH', 'AGAR_MATH_CFLAGS',
'AGAR_MATH_LIBS');
+ MkEndif;
+ return (0);
+}
+
+sub Emul
+{
+ my ($os, $osrel, $machine) = @_;
+
+ if ($os eq 'darwin') {
+ MkDefine('AGAR_MATH_CFLAGS', '-I/opt/local/include/agar '.
+ '-I/opt/local/include '.
+ '-I/usr/local/include/agar '.
+
'-I/usr/local/include '.
+ '-I/usr/include/agar
-I/usr/include '.
+ '-D_THREAD_SAFE');
+ MkDefine('AGAR_MATH_LIBS', '-L/usr/lib -L/opt/local/lib '.
+ '-L/usr/local/lib -L/usr/X11R6/lib '.
+ '-lag_math');
+ } elsif ($os eq 'windows') {
+ MkDefine('AGAR_MATH_CFLAGS', '');
+ MkDefine('AGAR_MATH_LIBS', 'ag_math');
+ } elsif ($os eq 'linux' || $os =~ /^(open|net|free)bsd$/) {
+ MkDefine('AGAR_MATH_CFLAGS', '-I/usr/include/agar
-I/usr/include '.
+ '-I/usr/local/include/agar '.
+
'-I/usr/local/include ');
+ MkDefine('AGAR_MATH_LIBS', '-L/usr/local/lib -lag_math');
+ } else {
+ goto UNAVAIL;
+ }
+ MkDefine('HAVE_AGAR_MATH', 'yes');
+ MkSaveDefine('HAVE_AGAR_MATH', 'AGAR_MATH_CFLAGS', 'AGAR_MATH_LIBS');
+ MkSaveMK('AGAR_MATH_CFLAGS', 'AGAR_MATH_LIBS');
+ return (1);
+UNAVAIL:
+ MkDefine('HAVE_AGAR_MATH', 'no');
+ MkSaveUndef('HAVE_AGAR_MATH');
+ MkSaveMK('AGAR_MATH_CFLAGS', 'AGAR_MATH_LIBS');
+ return (1);
+}
+
+sub Link
+{
+ my $var = shift;
+
+ if ($var eq 'ag_math') {
+ print << 'EOF';
+tinsert(package.links, { "ag_math" })
+EOF
+ return (1);
+ }
+ return (0);
+}
+
+BEGIN
+{
+ $TESTS{'agar-math'} = \&Test;
+ $DESCR{'agar-math'} = 'Agar-Math library (http://libagar.org/)';
+ $DEPS{'agar-math'} = 'cc,agar';
+ $EMUL{'agar-math'} = \&Emul;
+ $LINK{'agar-math'} = \&Link;
+}
+
+;1
Modified: trunk/BSDBuild/edacious.pm
===================================================================
--- trunk/BSDBuild/edacious.pm 2008-08-20 00:57:46 UTC (rev 725)
+++ trunk/BSDBuild/edacious.pm 2008-09-02 00:48:03 UTC (rev 726)
@@ -29,24 +29,24 @@
MkExecOutput('agar-config', '--version', 'AGAR_VERSION');
MkExecOutput('agar-vg-config', '--version', 'AGAR_VG_VERSION');
- MkExecOutput('freesg-config', '--version', 'FREESG_VERSION');
+ MkExecOutput('agar-math-config', '--version', 'AGAR_MATH_VERSION');
MkExecOutput('edacious-config', '--version', 'EDACIOUS_VERSION');
MkIf('"${AGAR_VERSION}" != "" -a "${AGAR_VG_VERSION}" != "" '.
- '-a "${FREESG_VERSION}" != "" -a "${EDACIOUS_VERSION}" != ""');
+ '-a "${AGAR_MATH_VERSION}" != "" -a "${EDACIOUS_VERSION}" != ""');
MkPrint('yes');
MkPrintN('checking whether Edacious works...');
MkExecOutput('agar-config', '--cflags', 'AGAR_CFLAGS');
MkExecOutput('agar-config', '--libs', 'AGAR_LIBS');
MkExecOutput('agar-vg-config', '--cflags', 'AGAR_VG_CFLAGS');
MkExecOutput('agar-vg-config', '--libs', 'AGAR_VG_LIBS');
- MkExecOutput('freesg-config', '--cflags', 'FREESG_CFLAGS');
- MkExecOutput('freesg-config', '--libs', 'FREESG_LIBS');
+ MkExecOutput('agar-math-config', '--cflags',
'AGAR_MATH_CFLAGS');
+ MkExecOutput('agar-math-config', '--libs', 'AGAR_MATH_LIBS');
MkExecOutput('edacious-config', '--cflags', 'EDACIOUS_CFLAGS');
MkExecOutput('edacious-config', '--libs', 'EDACIOUS_LIBS');
MkCompileC('HAVE_EDACIOUS',
- '${EDACIOUS_CFLAGS} ${FREESG_CFLAGS} ${AGAR_VG_CFLAGS} '.
+ '${EDACIOUS_CFLAGS} ${AGAR_MATH_CFLAGS} ${AGAR_VG_CFLAGS} '.
'${AGAR_CFLAGS}',
- '${EDACIOUS_LIBS} ${FREESG_LIBS} ${AGAR_VG_LIBS} '.
+ '${EDACIOUS_LIBS} ${AGAR_MATH_LIBS} ${AGAR_VG_LIBS} '.
'${AGAR_LIBS}',
<< 'EOF');
#include <edacious/core.h>
@@ -85,7 +85,7 @@
{
$TESTS{'edacious'} = \&Test;
$DESCR{'edacious'} = 'Edacious (http://edacious.hypertriton.com/)';
- $DEPS{'edacious'} = 'cc,agar,agar-vg,freesg';
+ $DEPS{'edacious'} = 'cc,agar,agar-vg,agar-math';
$LINK{'edacious'} = \&Link;
}
_______________________________________________
BSDBuild-Commits mailing list
[email protected]
http://mail231.csoft.net/mailman/listinfo/bsdbuild-commits