Author: vedge
Date: 2008-07-14 11:21:54 -0300 (Mon, 14 Jul 2008)
New Revision: 716
Added:
trunk/BSDBuild/edacious.pm
Modified:
trunk/BSDBuild/Makefile
Log:
test for Edacious library
Modified: trunk/BSDBuild/Makefile
===================================================================
--- trunk/BSDBuild/Makefile 2008-07-09 08:40:17 UTC (rev 715)
+++ trunk/BSDBuild/Makefile 2008-07-14 14:21:54 UTC (rev 716)
@@ -81,7 +81,8 @@
byte_order.pm \
openmgi.pm \
iconv.pm \
- curl.pm
+ curl.pm \
+ edacious.pm
all:
Added: trunk/BSDBuild/edacious.pm
===================================================================
--- trunk/BSDBuild/edacious.pm (rev 0)
+++ trunk/BSDBuild/edacious.pm 2008-07-14 14:21:54 UTC (rev 716)
@@ -0,0 +1,92 @@
+# 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-vg-config', '--version', 'AGAR_VG_VERSION');
+ MkExecOutput('freesg-config', '--version', 'FREESG_VERSION');
+ MkExecOutput('edacious-config', '--version', 'EDACIOUS_VERSION');
+ MkIf('"${AGAR_VERSION}" != "" -a "${AGAR_VG_VERSION}" != "" '.
+ '-a "${FREESG_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('edacious-config', '--cflags', 'EDACIOUS_CFLAGS');
+ MkExecOutput('edacious-config', '--libs', 'EDACIOUS_LIBS');
+ MkCompileC('HAVE_EDACIOUS',
+ '${EDACIOUS_CFLAGS} ${FREESG_CFLAGS} ${AGAR_VG_CFLAGS} '.
+ '${AGAR_CFLAGS}',
+ '${EDACIOUS_LIBS} ${FREESG_LIBS} ${AGAR_VG_LIBS} '.
+ '${AGAR_LIBS}',
+ << 'EOF');
+#include <edacious/core.h>
+int main(int argc, char *argv[]) {
+ ES_Circuit *ckt;
+ ckt = ES_CircuitNew(NULL, "foo");
+ ES_CircuitLog(ckt, "foo");
+ return (0);
+}
+EOF
+ MkIf('"${HAVE_EDACIOUS}" != ""');
+ MkSaveMK('EDACIOUS_CFLAGS', 'EDACIOUS_LIBS');
+ MkSaveDefine('EDACIOUS_CFLAGS', 'EDACIOUS_LIBS');
+ MkEndif;
+ MkElse;
+ MkPrint('no');
+ MkSaveUndef('HAVE_EDACIOUS', 'EDACIOUS_CFLAGS',
'EDACIOUS_LIBS');
+ MkEndif;
+ return (0);
+}
+
+sub Link
+{
+ my $var = shift;
+
+ if ($var eq 'edacious') {
+ print << 'EOF';
+tinsert(package.links, { "edacious" })
+EOF
+ return (1);
+ }
+ return (0);
+}
+
+BEGIN
+{
+ $TESTS{'edacious'} = \&Test;
+ $DESCR{'edacious'} = 'Edacious (http://edacious.hypertriton.com/)';
+ $DEPS{'edacious'} = 'cc,agar,agar-vg,freesg';
+ $LINK{'edacious'} = \&Link;
+}
+
+;1
_______________________________________________
BSDBuild-Commits mailing list
[email protected]
http://mail231.csoft.net/mailman/listinfo/bsdbuild-commits