File patch0003-NEKOMODULE_PATH.diff of Package neko

From 4ee7192c9a23b4b95681d4adc3a84f07730135dd Mon Sep 17 00:00:00 2001
From: Andy Li <andy@onthewings.net>
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

openSUSE Build Service is sponsored by