summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2017-11-23 22:10:05 -0300
committerLauro Moura <lauromoura@expertisesolutions.com.br>2017-12-04 15:47:51 -0300
commitb97d3438ebecf57019ee2b593e8c72601b3bf34b (patch)
tree042a13a0e7f94593618ed508e29c8a8879eed868 /configure.ac
parent41c073b2e61e8c0562cbdf25bdad8a3133275f81 (diff)
efl_mono: Add buildystem integration.
The C# bindings are built using the --enable-csharp-bindings (disabled by default).
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac130
1 files changed, 130 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 003190b..69ea681 100644
--- a/configure.ac
+++ b/configure.ac
@@ -163,6 +163,7 @@ EFL_WITH_BIN([eet], [eet-eet])
163EFL_WITH_BIN([edje], [edje-cc]) 163EFL_WITH_BIN([edje], [edje-cc])
164EFL_WITH_BIN([eolian], [eolian-gen]) 164EFL_WITH_BIN([eolian], [eolian-gen])
165EFL_WITH_BIN([eolian_cxx], [eolian-cxx]) 165EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
166EFL_WITH_BIN([eolian_mono], [eolian-mono])
166EFL_WITH_BIN([eolian-js], [eolian-js]) 167EFL_WITH_BIN([eolian-js], [eolian-js])
167EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin]) 168EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
168EFL_WITH_BIN([eldbus], [eldbus_codegen]) 169EFL_WITH_BIN([eldbus], [eldbus_codegen])
@@ -329,6 +330,7 @@ AC_LANG(C)
329AC_PROG_CC_C99 330AC_PROG_CC_C99
330AM_PROG_CC_C_O 331AM_PROG_CC_C_O
331AC_PROG_SED 332AC_PROG_SED
333AC_PROG_MCS
332 334
333AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"]) 335AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
334 336
@@ -1329,6 +1331,129 @@ EFL_EVAL_PKGS([EO_JS])
1329EFL_LIB_END_OPTIONAL([Eo_Js]) 1331EFL_LIB_END_OPTIONAL([Eo_Js])
1330#### End of Eo JS 1332#### End of Eo JS
1331 1333
1334#### Efl C Sharp Bindings
1335
1336want_csharp="no"
1337AC_ARG_ENABLE([csharp-bindings],
1338 [AS_HELP_STRING([--enable-csharp-bindings],[enable C Sharp bindings. @<:@default=disabled@:>@])],
1339 [
1340 if test "x${enableval}" = "xyes" ; then
1341 want_csharp="yes"
1342 else
1343 want_csharp="no"
1344 fi
1345 ],
1346 [want_csharp="no"])
1347
1348if test "x${want_csharp}" = "xyes" -a "x${HAVE_MCS}" != "x1"; then
1349 want_csharp="no"
1350 AC_MSG_ERROR([C Sharp bindings requested but C Sharp compiler could not be found])
1351fi
1352
1353AM_CONDITIONAL([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"])
1354AC_DEFINE_IF([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"],
1355 [1], [Compiling bindings for C Sharp])
1356AC_SUBST([want_csharp])
1357
1358# Efl Mono
1359EFL_LIB_START_OPTIONAL([Efl_Mono], [test "x${want_csharp}" = "xyes"])
1360
1361EFL_PLATFORM_DEPEND([EFL_MONO], [evil])
1362EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eina])
1363EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eo])
1364EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore])
1365EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eet])
1366EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Evas])
1367EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Con])
1368EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Audio])
1369EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Efl])
1370EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Evas])
1371EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Edje])
1372EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Emotion])
1373EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eldbus])
1374EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Emile])
1375EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ethumb])
1376EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ethumb_Client])
1377EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eio])
1378EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Elementary])
1379EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Efl_Custom_Exports_Mono])
1380
1381EFL_EVAL_PKGS([EFL_MONO])
1382
1383EFL_LIB_END_OPTIONAL([Efl_Mono])
1384
1385# Efl Custom Exports Mono
1386EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test "x${want_csharp}" = "xyes"])
1387
1388EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil])
1389EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina])
1390EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo])
1391EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl])
1392EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus])
1393
1394EFL_EVAL_PKGS([EFL_CUSTOM_EXPORTS_MONO])
1395
1396EFL_LIB_END_OPTIONAL([Efl_Custom_Exports_Mono])
1397
1398# Libtool versioning stuff.
1399# On windows, the version of the library goes into the filename.
1400# See https://autotools.io/libtool/windows.html#libtool.windows.version
1401# Based on the current:revision:age string passed to libtool, the generated suffix
1402# has the value of (current - age).
1403# To get the current and age, we use the same calculation from m4/efl.m4 (lt_cur, lt_age)
1404DLIB_PREFIX_MONO=""
1405DLIB_SUFFIX_MONO=""
1406if test "x${have_windows}" = "xyes"; then
1407 DLIB_PREFIX_MONO="lib"
1408 if test "x${EFL_VERSION_MAJOR}" = "x1"; then
1409 DLIB_SUFFIX_MONO="-${EFL_VERSION_MAJOR}"
1410 else
1411 DLIB_SUFFIX_MONO="-${EFL_VERSION_MAJOR}00"
1412 fi
1413fi
1414AC_SUBST([DLIB_PREFIX_MONO])
1415AC_SUBST([DLIB_SUFFIX_MONO])
1416
1417EFL_DL_MONO="${DLIB_PREFIX_MONO}efl${DLIB_SUFFIX_MONO}";
1418ECORE_DL_MONO="${DLIB_PREFIX_MONO}ecore${DLIB_SUFFIX_MONO}";
1419EINA_DL_MONO="${DLIB_PREFIX_MONO}eina${DLIB_SUFFIX_MONO}"
1420EO_DL_MONO="${DLIB_PREFIX_MONO}eo${DLIB_SUFFIX_MONO}"
1421EVAS_DL_MONO="${DLIB_PREFIX_MONO}evas${DLIB_SUFFIX_MONO}"
1422if test "x${have_windows}" = "xyes"; then
1423 EVIL_DL_MONO="${DLIB_PREFIX_MONO}evil${DLIB_SUFFIX_MONO}"
1424else
1425 EVIL_DL_MONO="dl"
1426fi
1427ECORE_EVAS_DL_MONO="${DLIB_PREFIX_MONO}ecore_evas${DLIB_SUFFIX_MONO}"
1428EDJE_DL_MONO="${DLIB_PREFIX_MONO}edje${DLIB_SUFFIX_MONO}"
1429ELEMENTARY_DL_MONO="${DLIB_PREFIX_MONO}elementary${DLIB_SUFFIX_MONO}"
1430ELDBUS_DL_MONO="${DLIB_PREFIX_MONO}eldbus${DLIB_SUFFIX_MONO}"
1431CUSTOM_EXPORTS_MONO_DL_MONO="${DLIB_PREFIX_MONO}eflcustomexportsmono${DLIB_SUFFIX_MONO}"
1432
1433AC_SUBST([EFL_DL_MONO])
1434AC_SUBST([ECORE_DL_MONO])
1435AC_SUBST([EINA_DL_MONO])
1436AC_SUBST([EO_DL_MONO])
1437AC_SUBST([EVAS_DL_MONO])
1438AC_SUBST([EVIL_DL_MONO])
1439AC_SUBST([ECORE_EVAS_DL_MONO])
1440AC_SUBST([EDJE_DL_MONO])
1441AC_SUBST([ELEMENTARY_DL_MONO])
1442AC_SUBST([ELDBUS_DL_MONO])
1443AC_SUBST([CUSTOM_EXPORTS_MONO_DL_MONO])
1444
1445# Eos file/library mapping
1446
1447# Unescaped sed pattern: sed -n 's/src\/lib\/\([a-z0-9_]*\)\/[a-z\/]*\/\([a-z0-9\._]*\)/\2,\1/pg'
1448_configure_path=`realpath $0`
1449efl_mono_top_srcdir=`dirname ${_configure_path}`
1450EFL_MONO_LIBRARY_MAP=`find ${efl_mono_top_srcdir}/src/lib/ -iname "*\.eo" | sed -n 's/.*\/src\/lib\/\(@<:@a-z0-9_@:>@*\)@<:@\/a-z@:>@*\/\(@<:@a-z0-9\._@:>@*\)/\2,\1/pg'`
1451
1452AC_SUBST([EFL_MONO_LIBRARY_MAP])
1453AM_SUBST_NOTMAKE([EFL_MONO_LIBRARY_MAP])
1454
1455#### End of Efl C Sharp Bindings
1456
1332#### Eo 1457#### Eo
1333 1458
1334EFL_LIB_START([Eo]) 1459EFL_LIB_START([Eo])
@@ -5560,6 +5685,8 @@ doc/Doxyfile
5560doc/previews/Makefile 5685doc/previews/Makefile
5561doc/widgets/Makefile 5686doc/widgets/Makefile
5562src/Makefile 5687src/Makefile
5688src/bindings/mono/efl_mono/efl_libs.cs
5689src/bindings/mono/efl_mono/efl_libs.csv
5563src/benchmarks/eina/Makefile 5690src/benchmarks/eina/Makefile
5564src/benchmarks/eo/Makefile 5691src/benchmarks/eo/Makefile
5565src/benchmarks/evas/Makefile 5692src/benchmarks/evas/Makefile
@@ -5578,6 +5705,7 @@ src/examples/emile/Makefile
5578src/examples/ethumb_client/Makefile 5705src/examples/ethumb_client/Makefile
5579src/examples/elua/Makefile 5706src/examples/elua/Makefile
5580src/examples/eolian_cxx/Makefile 5707src/examples/eolian_cxx/Makefile
5708src/examples/efl_mono/Makefile
5581src/examples/elocation/Makefile 5709src/examples/elocation/Makefile
5582src/examples/elementary/Makefile 5710src/examples/elementary/Makefile
5583src/lib/eina/eina_config.h 5711src/lib/eina/eina_config.h
@@ -5603,6 +5731,7 @@ pc/eolian-js.pc
5603pc/eo-js.pc 5731pc/eo-js.pc
5604pc/efl.pc 5732pc/efl.pc
5605pc/efl-cxx.pc 5733pc/efl-cxx.pc
5734pc/efl-mono.pc
5606pc/efl-wl.pc 5735pc/efl-wl.pc
5607pc/efl-core.pc 5736pc/efl-core.pc
5608pc/efl-net.pc 5737pc/efl-net.pc
@@ -5789,6 +5918,7 @@ echo " Cryptography..: ${build_crypto}"
5789echo " X11...........: ${with_x11}" 5918echo " X11...........: ${with_x11}"
5790echo " OpenGL........: ${with_opengl} ${opengl_egl}" 5919echo " OpenGL........: ${with_opengl} ${opengl_egl}"
5791echo " C++11.........: ${have_cxx11}" 5920echo " C++11.........: ${have_cxx11}"
5921echo " C#............: ${want_csharp}"
5792echo " JavaScript....: ${want_js}" 5922echo " JavaScript....: ${want_js}"
5793echo " JavaScript flg: $EINA_JS_LIBS" 5923echo " JavaScript flg: $EINA_JS_LIBS"
5794echo "Eina............: yes (${features_eina} unwind=$have_unwind)" 5924echo "Eina............: yes (${features_eina} unwind=$have_unwind)"