@@ -0,0 +1,17 @@
+package cpp.link;
+
+@:cppFileCode( 'extern "C" int mysql_register_prims();')
+@:buildXml("
+<target id='haxe'>
+ <lib name='${HXCPP}/lib/${BINDIR}/libmysql5${LIBEXTRA}${LIBEXT}'/>
+ <lib name='ws2_32.lib' if='windows'/>
+</target>
+")
+@:keep class StaticMysql
+{
+ static function __init__()
+ {
+ untyped __cpp__("mysql_register_prims();");
+ }
+}
@@ -0,0 +1,16 @@
+@:cppFileCode( 'extern "C" int regexp_register_prims();')
+ <lib name='${HXCPP}/lib/${BINDIR}/libregexp${LIBEXTRA}${LIBEXT}'/>
+@:keep class StaticRegexp
+ untyped __cpp__("regexp_register_prims();");
+@:cppFileCode( 'extern "C" int sqlite_register_prims();')
+ <lib name='${HXCPP}/lib/${BINDIR}/libsqlite${LIBEXTRA}${LIBEXT}'/>
+ <lib name='-lpthread' if='linux'/>
+@:keep class StaticSqlite
+ untyped __cpp__("sqlite_register_prims();");
+@:cppFileCode( 'extern "C" int std_register_prims();')
+ <lib name='${HXCPP}/lib/${BINDIR}/libstd${LIBEXTRA}${LIBEXT}'/>
+@:keep class StaticStd
+ untyped __cpp__("std_register_prims();");
+@:cppFileCode( 'extern "C" int zlib_register_prims();')
+ <lib name='${HXCPP}/lib/${BINDIR}/libzlib${LIBEXTRA}${LIBEXT}'/>
+@:keep class StaticZlib
+ untyped __cpp__("zlib_register_prims();");
@@ -1,5 +1,12 @@
package unit;
+#if (!macro && emscripten)
+import cpp.link.StaticStd;
+import cpp.link.StaticRegexp;
+import cpp.link.StaticSqlite;
+import cpp.link.StaticZlib;
+#end
@:expose("unit.Test")
@:keepSub
#if as3
@@ -10,7 +10,7 @@ import cpp.vm.*;
class Issue3767 extends Test
{
-#if (java || (neko && !interp && !macro) || cpp)
+#if (java || (neko && !interp && !macro) || (cpp && !emscripten))
function testBasicLock()
var lock = new Lock();