Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ce5d57f

Browse files
author
hughsando
committed
Add legacy and cpp11 support to ios via 'lib' vs 'bin' directory
1 parent f44ea55 commit ce5d57f

5 files changed

Lines changed: 26 additions & 11 deletions

File tree

build-tool/BuildCommon.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@
4444
<set name="haxelink" value="dll" if="android"/>
4545
<set name="haxelink" value="dll" if="dll_import"/>
4646

47+
<set name="HXCPP_IOS_STDCPP" value="1" unless="HXCPP_CPP11"/>
48+
4749
<set name="DESTDIR" value="bin" />
48-
<set name="DESTDIR" value="lib" if="static_link" unless="HXCPP_FORCE_BIN"/>
50+
<set name="DESTDIR" value="lib" if="static_link" unless="HXCPP_IOS_STDCPP"/>
4951

5052
<include name="${HXCPP_CONFIG}" section="vars" noerror="1"/>
5153

build-tool/haxe/BuildLibs.hx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ class BuildLibs
123123
target = target.substr(7);
124124
}
125125
var staticFlag = isStatic ? "-Dstatic_link" : "";
126-
if (target=="ios" && !isStatic)
127-
staticFlag = "-DHXCPP_IOS_LEGACY";
126+
if (target=="ios" && isStatic)
127+
staticFlag = "-DHXCPP_CPP11";
128128

129129
switch(target)
130130
{

build-tool/iphoneos-toolchain.xml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,21 @@
77
<include name="gcc-toolchain.xml"/>
88
<path name="${DEVELOPER_DIR}/Platforms/iPhoneOS.platform/Developer/usr/bin" />
99

10+
<set name="FORCE_LIBGCC" value="1" if="HXCPP_IOS_STDCPP" unless="HXCPP_GCC" />
11+
<set name="OBJGCC" value="-c11" if="HXCPP_CPP11" />
12+
<set name="OBJGCC" value="-gcc" if="HXCPP_GCC" />
13+
<set name="OBJDBG" value="-dbg" if="debug" />
14+
15+
1016
<compiler id="iPhoneOS" exe="g++" if="iphoneos">
1117
<exe name="xcrun --sdk iphoneos${IPHONE_VER} g++" if="HXCPP_GCC" />
1218
<exe name="xcrun --sdk iphoneos${IPHONE_VER} clang++" />
1319
<flag value="-c"/>
1420
<cppflag value="-fvisibility-inlines-hidden"/>
1521
<pchflag value="-x" />
1622
<pchflag value="c++-header" />
17-
<flag value="-stdlib=libstdc++" unless="HXCPP_GCC" />
23+
<flag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
24+
<flag value="-stdlib=libc++" if="HXCPP_CPP11" />
1825
<flag value="-g" if="debug"/>
1926
<flag value="-O2" unless="debug"/>
2027
<flag value="-arch"/>
@@ -41,14 +48,14 @@
4148
<cppflag value="-frtti"/>
4249
<outflag value="-o"/>
4350
<ext value=".o"/>
44-
<objdir value="obj/iphoneos${ARCH}/" unless="debug"/>
45-
<objdir value="obj/iphoneos-dbg${ARCH}/" if="debug"/>
51+
<objdir value="obj/iphonesim${OBJGCC}${OBJDBG}${ARCH}/" />
4652
</compiler>
4753

4854
<linker id="dll" exe="g++" >
4955
<exe name="xcrun --sdk iphoneos${IPHONE_VER} g++" if="HXCPP_GCC" />
5056
<exe name="xcrun --sdk iphoneos${IPHONE_VER} clang++" />
51-
<flag value="-stdlib=stdlibc++" unless="HXCPP_GCC" />
57+
<flag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
58+
<flag value="-stdlib=libc++" if="HXCPP_CPP11" />
5259
<flag value="-dynamiclib"/>
5360
<flag value="-arch"/>
5461
<flag value="armv6" unless="HXCPP_ARMV7" />

build-tool/iphonesim-toolchain.xml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@
55
<include name="gcc-toolchain.xml"/>
66
<path name="${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/usr/bin" />
77

8+
<set name="FORCE_LIBGCC" value="1" if="HXCPP_IOS_STDCPP" unless="HXCPP_GCC" />
9+
<set name="OBJGCC" value="-c11" if="HXCPP_CPP11" />
10+
<set name="OBJGCC" value="-gcc" if="HXCPP_GCC" />
11+
<set name="OBJDBG" value="-dbg" if="debug" />
12+
813
<compiler id="iPhoneSim" exe="g++" if="iphonesim">
914
<exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
1015
<exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
1116
<flag value="-c"/>
1217
<cppflag value="-fvisibility-inlines-hidden"/>
1318
<pchflag value="-x" />
1419
<pchflag value="c++-header" />
15-
<flag value="-stdlib=libstdc++" unless="HXCPP_GCC" />
20+
<flag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
21+
<flag value="-stdlib=libc++" if="HXCPP_CPP11" />
1622
<flag value="-g" if="debug"/>
1723
<flag value="-O2" unless="debug"/>
1824
<flag value="-fmessage-length=0"/>
@@ -47,14 +53,14 @@
4753
<cppflag value="-frtti"/>
4854
<outflag value="-o"/>
4955
<ext value=".o"/>
50-
<objdir value="obj/iphonesim/" unless="debug"/>
51-
<objdir value="obj/iphonesim-dbg/" if="debug"/>
56+
<objdir value="obj/iphonesim${OBJGCC}${OBJDBG}/" />
5257
</compiler>
5358

5459
<linker id="dll" exe="g++" >
5560
<exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
5661
<exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
57-
<flag value="-stdlib=libstdc++" unless="HXCPP_GCC" />
62+
<flag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
63+
<flag value="-stdlib=libc++" if="HXCPP_CPP11" />
5864
<flag value="-dynamiclib"/>
5965
<flag value="-arch"/>
6066
<flag value="i386"/>

runtime/buildlibs.n

-347 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)