aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-06-21 11:06:59 +0200
committerSven Gothel <[email protected]>2019-06-21 11:06:59 +0200
commit8ce56955f989f0d8ac21335ea563f9c7eb111154 (patch)
treed3ad10988495ea7bcfa649f13ee52e3c89eb566b
parent2439ef7a2e6789c2614b3f0efde11bc874cebad0 (diff)
iOS: Generalize building the native symbols file via macro
-rw-r--r--make/build.xml22
-rwxr-xr-xmake/gluegen-cpptasks-base.xml19
2 files changed, 25 insertions, 16 deletions
diff --git a/make/build.xml b/make/build.xml
index d243a2d..3fa7c3c 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -459,20 +459,6 @@
<antcall target="gluegen.build.c.impl" inheritAll="true" inheritRefs="true" />
</target>
- <target name="gluegen.build.a.symbols" depends="" if="${build.staticlibs}" unless="gluegen.build.skip.native">
- <!-- invoke nm in a most compatible way, tested on GNU/Linux and MacOS -->
- <exec executable="nm" dir="${build}" output="${gluegen.lib.dir}/lib${output.lib.name}.symbols.raw">
- <arg value="--extern-only"/>
- <arg value="--defined-only"/>
- <arg value="${gluegen.lib.dir}/${output.lib.name.os}"/>
- </exec>
- <exec executable="awk" dir="${build}" output="${gluegen.lib.dir}/lib${output.lib.name}.symbols">
- <arg value="{ print $3 }"/>
- <arg value="${gluegen.lib.dir}/lib${output.lib.name}.symbols.raw"/>
- </exec>
- <delete file="${gluegen.lib.dir}/lib${output.lib.name}.symbols.raw" quiet="true" failonerror="false" />
- </target>
-
<target name="gluegen.build.c.impl" depends="init, c.configure" unless="gluegen.build.skip.native">
<echo message="clearing gluegen.build.shasum.done (2) - was ${gluegen.build.shasum.done}"/>
<var name="gluegen.build.shasum.done" unset="true"/>
@@ -531,9 +517,12 @@
<linker extends="${linker.cfg.id}" />
</cc>
- <antcall target="gluegen.build.a.symbols" inheritAll="true" inheritRefs="true" />
<antcall target="c.rename.lib.mingw" inheritRefs="true" />
+ <gluegen.make.libsymbols builddir="${build}"
+ nativelib="${gluegen.lib.dir}/${output.lib.name.os}"
+ symbolsfile="${gluegen.lib.dir}/${native.library.prefix}${output.lib.name}.symbols" />
+
<antcall target="gluegen.cpptasks.striplibs" inheritRefs="true">
<param name="libdir" value="${gluegen.lib.dir}"/>
</antcall>
@@ -1250,8 +1239,9 @@
<target name="all.ide" description="Debug IDE build including all junit tests, but don't tag the build or create archives" depends="init.debug, base.compile, tag.build, junit.compile" />
<target name="clean" depends="init">
- <delete includeEmptyDirs="true">
+ <delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${build}" />
+ <fileset dir="${project.root}/build-temp" />
<fileset dir="${project.root}" includes="make/GnuCTreeParserTokenTypes.txt make/STDCTokenTypes.txt" />
</delete>
</target>
diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml
index 20e2a75..05f648a 100755
--- a/make/gluegen-cpptasks-base.xml
+++ b/make/gluegen-cpptasks-base.xml
@@ -1877,4 +1877,23 @@
</delete>
</sequential>
</macrodef>
+
+ <macrodef name="gluegen.make.libsymbols">
+ <attribute name="builddir" />
+ <attribute name="nativelib" />
+ <attribute name="symbolsfile" />
+ <sequential>
+ <!-- invoke nm in a most compatible way, tested on GNU/Linux and MacOS -->
+ <exec executable="nm" dir="@{builddir}" output="@{symbolsfile}.raw">
+ <arg value="--extern-only"/>
+ <arg value="--defined-only"/>
+ <arg value="@{nativelib}"/>
+ </exec>
+ <exec executable="awk" dir="@{builddir}" output="@{symbolsfile}">
+ <arg value="{ print $3 }"/>
+ <arg value="@{symbolsfile}.raw"/>
+ </exec>
+ <delete file="@{symbolsfile}.raw" quiet="true" failonerror="false" />
+ </sequential>
+ </macrodef>
</project>