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