Hello community, here is the log from the commit of package neko for openSUSE:Factory checked in at 2016-11-04 21:00:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/neko (Old) and /work/SRC/openSUSE:Factory/.neko.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "neko" Changes: -------- --- /work/SRC/openSUSE:Factory/neko/neko.changes 2015-12-09 22:25:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.neko.new/neko.changes 2016-11-04 21:00:32.000000000 +0100 @@ -1,0 +2,26 @@ +Sat Oct 29 17:13:04 UTC 2016 - andy@onthewings.net + +- Update to neko 2.1.0. + * Remove patches already applied in 2.1.0: + * 0001-library-paths.patch + * 0002-ndll-paths.patch + * 0003-no-apache.patch + * 0004-no-mod_tora.patch + * 0005-set-soname.patch + * 0006-libmysqlclient.patch + * 0007-extra-cflags.patch + * 0008-jit.patch + * Add upstream patches: + * patch0000-GC_INCLUDE_DIRS.diff: fix a CMake variable typo. + * patch0001-INSTALL_DIR.diff, patch0002-GNUInstallDirs.diff, + and patch0003-NEKOMODULE_PATH.diff: fix install paths. + * patch0004-target_include_directories.patch: fix CMake + target_include_directories shim. + * patch0005-mincoming-stack-boundary.patch: use + -mincoming-stack-boundary when it is available. + * patch0006-INCLUDEDIR.diff: add missing reference to + *_INCLUDEDIR in CMake. + * patch0007-CMAKE_INSTALL_LIBDIR.diff: make sure + CMAKE_INSTALL_LIBDIR is relative. + +------------------------------------------------------------------- Old: ---- 0001-library-paths.patch 0002-ndll-paths.patch 0003-no-apache.patch 0004-no-mod_tora.patch 0005-set-soname.patch 0006-libmysqlclient.patch 0007-extra-cflags.patch 0008-jit.patch neko-2.0.0.tar.gz New: ---- neko-2.1.0-src.tar.gz patch0000-GC_INCLUDE_DIRS.diff patch0001-INSTALL_DIR.diff patch0002-GNUInstallDirs.diff patch0003-NEKOMODULE_PATH.diff patch0004-target_include_directories.patch patch0005-mincoming-stack-boundary.patch patch0006-INCLUDEDIR.diff patch0007-CMAKE_INSTALL_LIBDIR.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ neko.spec ++++++ --- /var/tmp/diff_new_pack.xXTxrh/_old 2016-11-04 21:00:33.000000000 +0100 +++ /var/tmp/diff_new_pack.xXTxrh/_new 2016-11-04 21:00:33.000000000 +0100 @@ -17,21 +17,26 @@ Name: neko -Version: 2.0.0 +Version: 2.1.0 Release: 0 Summary: A cross-platform lightweight virtual machine and language License: MIT Group: Development/Languages/Other Url: http://nekovm.org -Source0: http://nekovm.org/_media/neko-%{version}.tar.gz -Patch0: 0001-library-paths.patch -Patch1: 0002-ndll-paths.patch -Patch2: 0003-no-apache.patch -Patch3: 0004-no-mod_tora.patch -Patch4: 0005-set-soname.patch -Patch5: 0006-libmysqlclient.patch -Patch6: 0007-extra-cflags.patch -Patch7: 0008-jit.patch +Source0: http://nekovm.org/media/neko-%{version}-src.tar.gz +# All patches are commits from the upstream +Patch0: patch0000-GC_INCLUDE_DIRS.diff +Patch1: patch0001-INSTALL_DIR.diff +Patch2: patch0002-GNUInstallDirs.diff +Patch3: patch0003-NEKOMODULE_PATH.diff +Patch4: patch0004-target_include_directories.patch +Patch5: patch0005-mincoming-stack-boundary.patch +Patch6: patch0006-INCLUDEDIR.diff +Patch7: patch0007-CMAKE_INSTALL_LIBDIR.diff +BuildRequires: cmake +BuildRequires: ninja +BuildRequires: pkgconfig +BuildRequires: git BuildRequires: apache2-devel BuildRequires: gc-devel BuildRequires: gtk2-devel @@ -39,8 +44,9 @@ BuildRequires: pcre-devel-static BuildRequires: sqlite3-devel BuildRequires: zlib-devel-static +BuildRequires: mbedtls-devel >= 2.2.0 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: libneko1 = %{version} +Requires: libneko2 = %{version} Provides: nekovm = %version Obsoletes: nekovm < %version @@ -51,19 +57,19 @@ Summary: Development files for the neko virtual machine License: MIT Group: Development/Languages/Other -Requires: libneko1 = %{version} +Requires: libneko2 = %{version} Provides: nekovm-devel = %version Obsoletes: nekovm-devel < %version %description devel Development files and headers for the neko virtual machine -%package -n libneko1 +%package -n libneko2 Summary: Neko virtual machine shared library License: MIT Group: System/Libraries -%description -n libneko1 +%description -n libneko2 Shared library for the Neko virtual machine %package mysql @@ -78,7 +84,7 @@ MySQL library for the Neko virtual machine %prep -%setup -q -n neko-%{version} +%setup -q -n neko-%{version}-src %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -89,43 +95,27 @@ %patch7 -p1 %build -# don't use parallel build -make EXTRA_CFLAGS="%{optflags} -fno-strict-aliasing" +%define __builder ninja +%cmake \ + "-DWITH_NDLLS=std.ndll;zlib.ndll;mysql.ndll;mysql5.ndll;regexp.ndll;sqlite.ndll;ui.ndll;ssl.ndll" \ + -DRELOCATABLERELOCATABLE=OFF \ + -DRUN_LDCONFIG=OFF +# make_jobs macro has not been defined in openSUSE_13.1 +%{!?make_jobs: %define make_jobs ninja -v %{?_smp_mflags} || %__make %{?_smp_mflags} VERBOSE=1} +%make_jobs %check -make test + +# ctest macro has not been defined in openSUSE_13.1 +%{!?ctest: %define ctest ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags}} +%ctest %install -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_prefix}/lib -mkdir -p %{buildroot}%{_libdir} -mkdir -p %{buildroot}%{_includedir} - -make INSTALL_PREFIX=%{buildroot}%{_prefix} install - -# Put the lib files in _libdir: -if [ %{_prefix}/lib != %{_libdir} ]; then - mv %{buildroot}%{_prefix}/lib/* %{buildroot}%{_libdir} - rmdir %{buildroot}%{_prefix}/lib -fi - -# for some reason libneko.so does not end being a symlink -# resulting in -devel package providing libneko.so.1()(64bit) -rm -f %{buildroot}%{_libdir}/libneko.so -rm -f %{buildroot}%{_libdir}/libneko.so -ln -s %{_libdir}/libneko.so.1 %{buildroot}%{_libdir}/libneko.so - -# also provide .so.0 for compatibility with Debian -# PS. the .so.0 in Debian is exactly the same as our .so.1 -ln -s %{_libdir}/libneko.so.1 %{buildroot}%{_libdir}/libneko.so.0 - -# Remove nekoml.std -# https://github.com/HaxeFoundation/neko/issues/97 -rm -f %{buildroot}%{_bindir}/nekoml.std +%cmake_install -%post -n libneko1 -p /sbin/ldconfig +%post -n libneko2 -p /sbin/ldconfig -%postun -n libneko1 -p /sbin/ldconfig +%postun -n libneko2 -p /sbin/ldconfig %files %defattr(-,root,root) @@ -136,6 +126,8 @@ %{_libdir}/neko/std.ndll %{_libdir}/neko/ui.ndll %{_libdir}/neko/zlib.ndll +%{_libdir}/neko/ssl.ndll +%{_libdir}/neko/nekoml.std %doc LICENSE CHANGES %files mysql @@ -144,7 +136,7 @@ %{_libdir}/neko/mysql5.ndll %doc LICENSE CHANGES -%files -n libneko1 +%files -n libneko2 %defattr(-,root,root) %{_libdir}/*.so.* %doc LICENSE CHANGES ++++++ patch0000-GC_INCLUDE_DIRS.diff ++++++
From a4d3e4b53c4d06d5ac05f68996e07df2a1a910c6 Mon Sep 17 00:00:00 2001 From: Petr Penzin <Petr Penzin> Date: Sun, 8 May 2016 11:06:24 -0700 Subject: [PATCH] Make CMake scripts more FreeBSD-friendly, fix variable name mismatch between "find" modules and main CMakeLists.txt
--- CMakeLists.txt | 15 ++++++++++----- cmake/FindAPACHE.cmake | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8de1702..828a17f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -301,7 +301,7 @@ if (STATIC_BOEHMGC) ${CMAKE_BINARY_DIR}/libs/src/BoehmGC/include ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/include/gc ) - set(GC_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/include) + set(GC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/include) set(GC_LIBRARIES ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/${CMAKE_CFG_INTDIR}/gcmt-dll.lib ) @@ -348,7 +348,7 @@ if (STATIC_BOEHMGC) # but want download_static_deps depends on it add_dependencies(BoehmGC-download libatomic_ops-download) - set(GC_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/include) + set(GC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/include) set(GC_LIBRARIES ${CMAKE_BINARY_DIR}/libs/src/BoehmGC-build/lib/libgc.a ) @@ -359,7 +359,7 @@ else() find_package(BoehmGC REQUIRED) endif() -target_include_directories(libneko PRIVATE ${GC_INCLUDE_DIRS}) +target_include_directories(libneko PRIVATE ${GC_INCLUDE_DIR}) target_link_libraries(libneko ${GC_LIBRARIES}) target_link_libraries(std.ndll libneko) @@ -370,8 +370,11 @@ if(WIN32) endif() if(UNIX) + if (NOT ${OS_NAME} STREQUAL freebsd) + set(DL_LIB dl) + endif() find_package(Threads) - target_link_libraries(libneko dl m ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(libneko ${DL_LIB} m ${CMAKE_THREAD_LIBS_INIT}) endif() set_target_properties(nekovm @@ -684,7 +687,7 @@ else() add_library(sqlite.ndll MODULE ${EXCLUDE_SQLITE_NDLL_FROM_ALL} libs/sqlite/sqlite.c) pkg_check_modules(SQLITE3 REQUIRED sqlite3) target_include_directories(sqlite.ndll PRIVATE ${SQLITE3_INCLUDE_DIRS}) - target_link_libraries(sqlite.ndll libneko ${SQLITE3_LIBRARIES}) + target_link_libraries(sqlite.ndll libneko ${SQLITE3_LIBRARY}) endif() @@ -1282,6 +1285,8 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") set(OS_NAME "osx") elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set(OS_NAME "linux") +elseif (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") + set(OS_NAME "freebsd") else() message( WARNING "unknown ${CMAKE_SYSTEM_NAME}" ) set(OS_NAME "") diff --git a/cmake/FindAPACHE.cmake b/cmake/FindAPACHE.cmake index dd4f80d..5bc7825 100644 --- a/cmake/FindAPACHE.cmake +++ b/cmake/FindAPACHE.cmake @@ -10,7 +10,7 @@ # find_path(APACHE_INCLUDE_DIR NAMES httpd.h - PATH_SUFFIXES httpd apache apache2 + PATH_SUFFIXES httpd apache apache2 apache22 apache24 ) if(NOT DEFINED APACHE_MODULE_DIR) -- 2.6.4
From a4106b2151b259af019d7dd962f4d4f0a78752c5 Mon Sep 17 00:00:00 2001 From: Petr Penzin <Petr Penzin> Date: Tue, 10 May 2016 18:27:41 -0700 Subject: [PATCH] Revert SQLITE3 CMake variable change (I was wrong), fix the way CMakeLists.txt determins if it needs to add -ldl to the link line.
--- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 828a17f..7390d97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -370,8 +370,8 @@ if(WIN32) endif() if(UNIX) - if (NOT ${OS_NAME} STREQUAL freebsd) - set(DL_LIB dl) + if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") + set(DL_LIB "dl") endif() find_package(Threads) target_link_libraries(libneko ${DL_LIB} m ${CMAKE_THREAD_LIBS_INIT}) @@ -687,7 +687,7 @@ else() add_library(sqlite.ndll MODULE ${EXCLUDE_SQLITE_NDLL_FROM_ALL} libs/sqlite/sqlite.c) pkg_check_modules(SQLITE3 REQUIRED sqlite3) target_include_directories(sqlite.ndll PRIVATE ${SQLITE3_INCLUDE_DIRS}) - target_link_libraries(sqlite.ndll libneko ${SQLITE3_LIBRARY}) + target_link_libraries(sqlite.ndll libneko ${SQLITE3_LIBRARIES}) endif() -- 2.6.4 ++++++ patch0001-INSTALL_DIR.diff ++++++
From 2497728ec94be06c456545a50acd0b74b091a9a3 Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Tue, 17 May 2016 04:32:20 +0800 Subject: [PATCH] Support LIB_INSTALL_DIR and INCLUDE_INSTALL_DIR. They are used by openSUSE (probably other distros too).
--- CMakeLists.txt | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5807adc..4159a7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1203,10 +1203,23 @@ add_custom_target(source_archive_fat # install target +if (NOT DEFINED LIB_INSTALL_DIR) + if (DEFINED CMAKE_INSTALL_LIBDIR) + set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) + else (DEFINED LIB_INSTALL_DIR) + set(LIB_INSTALL_DIR "lib") + endif() +endif() + +if (NOT DEFINED INCLUDE_INSTALL_DIR) + set(INCLUDE_INSTALL_DIR "include") +endif() + if (WIN32) set(DEST_BIN .) set(DEST_LIB .) set(DEST_NDLL .) + set(DEST_INCLUDE "include") set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .) include(InstallRequiredSystemLibraries) @@ -1221,8 +1234,9 @@ if (WIN32) endif() else() set(DEST_BIN bin) - set(DEST_LIB lib) - set(DEST_NDLL lib/neko) + set(DEST_LIB ${LIB_INSTALL_DIR}) + set(DEST_NDLL ${LIB_INSTALL_DIR}/neko) + set(DEST_INCLUDE ${INCLUDE_INSTALL_DIR}) endif() install ( @@ -1247,12 +1261,12 @@ install ( ) install ( DIRECTORY vm/ - DESTINATION include + DESTINATION ${DEST_INCLUDE} FILES_MATCHING PATTERN "neko*.h" ) install ( FILES ${CMAKE_BINARY_DIR}/neko.h - DESTINATION include + DESTINATION ${DEST_INCLUDE} ) if (RUN_LDCONFIG) -- 2.6.4 ++++++ patch0002-GNUInstallDirs.diff ++++++
From dbf8bc0c3d13774d08c144c09f2eb93d80ed0358 Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Wed, 18 May 2016 02:14:52 +0800 Subject: [PATCH] [CMake] use GNUInstallDirs ...instead of figuring the vars out manually.
--- CMakeLists.txt | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4159a7a..382ef3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1203,18 +1203,6 @@ add_custom_target(source_archive_fat # install target -if (NOT DEFINED LIB_INSTALL_DIR) - if (DEFINED CMAKE_INSTALL_LIBDIR) - set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) - else (DEFINED LIB_INSTALL_DIR) - set(LIB_INSTALL_DIR "lib") - endif() -endif() - -if (NOT DEFINED INCLUDE_INSTALL_DIR) - set(INCLUDE_INSTALL_DIR "include") -endif() - if (WIN32) set(DEST_BIN .) set(DEST_LIB .) @@ -1233,10 +1221,11 @@ if (WIN32) set (CMAKE_INSTALL_PREFIX "C:/HaxeToolkit/neko" CACHE PATH "default install path" FORCE) endif() else() - set(DEST_BIN bin) - set(DEST_LIB ${LIB_INSTALL_DIR}) - set(DEST_NDLL ${LIB_INSTALL_DIR}/neko) - set(DEST_INCLUDE ${INCLUDE_INSTALL_DIR}) + include(GNUInstallDirs) + set(DEST_BIN ${CMAKE_INSTALL_BINDIR}) + set(DEST_LIB ${CMAKE_INSTALL_LIBDIR}) + set(DEST_NDLL ${CMAKE_INSTALL_LIBDIR}/neko) + set(DEST_INCLUDE ${CMAKE_INSTALL_INCLUDEDIR}) endif() install ( -- 2.6.4 ++++++ patch0003-NEKOMODULE_PATH.diff ++++++
From 4ee7192c9a23b4b95681d4adc3a84f07730135dd Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Wed, 18 May 2016 19:17:33 +0800 Subject: [PATCH] Added NEKO_MODULE_PATH that points to the installation path of the ndll files.
--- CMakeLists.txt | 19 ++++++++++++------- vm/load.c | 2 +- vm/neko.h.in | 2 ++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60cd197..7798715 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 2.8.7) +include(GNUInstallDirs) project(neko C) set(CMAKE_OSX_ARCHITECTURES x86_64) @@ -58,6 +59,15 @@ set(NEKO_VERSION_MAJOR 2) set(NEKO_VERSION_MINOR 1) set(NEKO_VERSION_PATCH 0) +if(WIN32) + if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set (CMAKE_INSTALL_PREFIX "C:/HaxeToolkit/neko" CACHE PATH "default install path" FORCE) + endif() + set(NEKO_MODULE_PATH ${CMAKE_INSTALL_PREFIX}) +else() + set(NEKO_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/neko) +endif() + configure_file ( "${CMAKE_SOURCE_DIR}/vm/neko.h.in" "${CMAKE_BINARY_DIR}/neko.h" @@ -1221,16 +1231,11 @@ if (WIN32) ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/gcmt-dll.dll DESTINATION . ) - - if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set (CMAKE_INSTALL_PREFIX "C:/HaxeToolkit/neko" CACHE PATH "default install path" FORCE) - endif() else() - include(GNUInstallDirs) set(DEST_BIN ${CMAKE_INSTALL_BINDIR}) set(DEST_LIB ${CMAKE_INSTALL_LIBDIR}) - set(DEST_NDLL ${CMAKE_INSTALL_LIBDIR}/neko) - set(DEST_INCLUDE ${CMAKE_INSTALL_INCLUDEDIR}) + set(DEST_NDLL ${CMAKE_INSTALL_LIBDIR}/neko) # should match NEKO_MODULE_PATH + set(DEST_INCLUDE ${CMAKE_INSTALL_INCLUDEDIR}/${CMAKE_LIBRARY_ARCHITECTURE}) endif() install ( diff --git a/vm/load.c b/vm/load.c index 6bdd8e7..76d211d 100644 --- a/vm/load.c +++ b/vm/load.c @@ -284,7 +284,7 @@ static value init_path( const char *path ) { } #else if( path == NULL ) { - allocated = strdup("/usr/local/lib/neko:/usr/lib/neko:/usr/local/bin:/usr/bin"); + allocated = strdup(NEKO_MODULE_PATH ":/usr/local/lib/neko:/usr/lib/neko:/usr/local/bin:/usr/bin"); path = allocated; } #endif diff --git a/vm/neko.h.in b/vm/neko.h.in index 2009678..eadcba8 100644 --- a/vm/neko.h.in +++ b/vm/neko.h.in @@ -97,6 +97,8 @@ #define NEKO_VERSION_PATCH @NEKO_VERSION_PATCH@ #define NEKO_VERSION @NEKO_VERSION_MAJOR@@NEKO_VERSION_MINOR@@NEKO_VERSION_PATCH@ +#define NEKO_MODULE_PATH "@NEKO_MODULE_PATH@" + typedef intptr_t int_val; typedef enum { -- 2.6.4 ++++++ patch0004-target_include_directories.patch ++++++
From 09cbb6d4dc5c9c9e25c9bcf9c1db5c8fa67345ef Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Wed, 18 May 2016 13:36:44 +0800 Subject: [PATCH] fixed target_include_directories shim
--- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 382ef3e..60cd197 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,14 @@ if (${CMAKE_VERSION} VERSION_LESS 2.8.8) endfunction() elseif (${CMAKE_VERSION} VERSION_LESS 2.8.11) function(target_include_directories target visibility) + get_target_property(DIRS ${target} INCLUDE_DIRECTORIES) + foreach(PATH ${ARGN}) + get_filename_component(ABS_PATH ${PATH} ABSOLUTE) + list(APPEND DIRS ${ABS_PATH}) + endforeach() set_target_properties(${target} PROPERTIES - INCLUDE_DIRECTORIES "${INCLUDE_DIRECTORIES} ${ARGN}" + INCLUDE_DIRECTORIES "${DIRS}" ) endfunction() endif() ++++++ patch0005-mincoming-stack-boundary.patch ++++++
From 4b78044643c459a63bc87f6eadd50991df0301c7 Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Mon, 6 Jun 2016 22:22:57 +0000 Subject: [PATCH] only use -mincoming-stack-boundary when it is available
--- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7b4b7d..e78d1a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 2.8.7) include(GNUInstallDirs) +include(CheckCCompilerFlag) project(neko C) set(CMAKE_OSX_ARCHITECTURES x86_64) @@ -211,7 +212,13 @@ if(UNIX) # https://github.com/HaxeFoundation/neko/pull/17 if(CMAKE_SIZEOF_VOID_P EQUAL 4) - add_compile_options(-mincoming-stack-boundary=2) + check_c_compiler_flag(-mincoming-stack-boundary=2 HAS_MINCOMING_STACK_BOUNDARY) + check_c_compiler_flag(-mstack-alignment=2 HAS_MSTACK_ALIGNMENT) + if(HAS_MINCOMING_STACK_BOUNDARY) + add_compile_options(-mincoming-stack-boundary=2) + elseif(HAS_MSTACK_ALIGNMENT) + add_compile_options(-mstack-alignment=2) + endif() endif() find_package(PkgConfig REQUIRED) ++++++ patch0006-INCLUDEDIR.diff ++++++
From cf34f855794d3b1fde1675c0b1cbd4a1472f1052 Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Sat, 29 Oct 2016 23:17:55 +0800 Subject: [PATCH] pkg_check_modules sets both *_INCLUDEDIR and *_INCLUDE_DIRS
--- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b196ee4..fce09d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -518,11 +518,12 @@ if (STATIC_ZLIB) set(ZLIB_LIBRARIES ${CMAKE_BINARY_DIR}/libs/src/install-prefix/lib/libz.a) endif() add_dependencies(zlib.ndll Zlib) + target_include_directories(zlib.ndll PRIVATE ${ZLIB_INCLUDE_DIRS}) else() pkg_check_modules(ZLIB REQUIRED zlib) + target_include_directories(zlib.ndll PRIVATE ${ZLIB_INCLUDEDIR} ${ZLIB_INCLUDE_DIRS}) endif() -target_include_directories(zlib.ndll PRIVATE ${ZLIB_INCLUDE_DIRS}) target_link_libraries(zlib.ndll libneko ${ZLIB_LIBRARIES}) set_target_properties(zlib.ndll @@ -718,7 +719,7 @@ if (STATIC_SQLITE3) else() add_library(sqlite.ndll MODULE ${EXCLUDE_SQLITE_NDLL_FROM_ALL} libs/sqlite/sqlite.c) pkg_check_modules(SQLITE3 REQUIRED sqlite3) - target_include_directories(sqlite.ndll PRIVATE ${SQLITE3_INCLUDE_DIRS}) + target_include_directories(sqlite.ndll PRIVATE ${SQLITE3_INCLUDEDIR} ${SQLITE3_INCLUDE_DIRS}) target_link_libraries(sqlite.ndll libneko ${SQLITE3_LIBRARIES}) endif() @@ -743,6 +744,7 @@ if(APPLE) elseif(UNIX) pkg_check_modules(GTK2 REQUIRED gtk+-2.0) target_include_directories(ui.ndll PRIVATE + ${GTK2_INCLUDEDIR} ${GTK2_INCLUDE_DIRS} ) target_link_libraries(ui.ndll ${GTK2_LIBRARIES}) -- 2.6.4 ++++++ patch0007-CMAKE_INSTALL_LIBDIR.diff ++++++
From 8bd2c01b71842ba24d15d8aed27404b448ba7fec Mon Sep 17 00:00:00 2001 From: Andy Li
Date: Sun, 30 Oct 2016 00:48:08 +0800 Subject: [PATCH] Make sure CMAKE_INSTALL_LIBDIR is relative.
--- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index fce09d2..acdecb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,11 @@ foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${OUTPUT_DIR} ) endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES ) +# Make sure CMAKE_INSTALL_LIBDIR is relative +if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) + file(RELATIVE_PATH CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_LIBDIR}) +endif() + # target_include_directories for old cmake versions if (${CMAKE_VERSION} VERSION_LESS 2.8.8) function(target_include_directories target visibility) -- 2.6.4