You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2014/07/21 22:47:44 UTC

[1/4] git commit: Add runtime/c to dev env PATH under MinGW

Repository: lucy-clownfish
Updated Branches:
  refs/heads/mingw-fixes [created] 8b685dccf


Add runtime/c to dev env PATH under MinGW


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/f44a56ce
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/f44a56ce
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/f44a56ce

Branch: refs/heads/mingw-fixes
Commit: f44a56ced787dd26cd0414c664d3f84bb7bb24d9
Parents: 7baa94b
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Jul 21 21:58:02 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Jul 21 21:58:02 2014 +0200

----------------------------------------------------------------------
 devel/bin/setup_env.sh | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/f44a56ce/devel/bin/setup_env.sh
----------------------------------------------------------------------
diff --git a/devel/bin/setup_env.sh b/devel/bin/setup_env.sh
index 8d23c3c..64efe54 100644
--- a/devel/bin/setup_env.sh
+++ b/devel/bin/setup_env.sh
@@ -74,7 +74,13 @@ export PERL5LIB=`add_to_path "$PERL5LIB" "$compiler_dir/perl/blib/lib"`
 export PERL5LIB=`add_to_path "$PERL5LIB" "$runtime_dir/perl/blib/arch"`
 export PERL5LIB=`add_to_path "$PERL5LIB" "$runtime_dir/perl/blib/lib"`
 
-if [ `uname` != Darwin ]; then
-    export LD_LIBRARY_PATH=`add_to_path "$LD_LIBRARY_PATH" "$runtime_dir/c"`
-fi
+case `uname` in
+    MINGW*)
+        export PATH=`add_to_path "$PATH" "$runtime_dir/c"`
+	;;
+    Darwin*)
+        ;;
+    *)
+        export LD_LIBRARY_PATH=`add_to_path "$LD_LIBRARY_PATH" "$runtime_dir/c"`
+esac
 


[4/4] git commit: Update .gitignore for MinGW

Posted by nw...@apache.org.
Update .gitignore for MinGW


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/8b685dcc
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/8b685dcc
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/8b685dcc

Branch: refs/heads/mingw-fixes
Commit: 8b685dccf6cd4253568bbc7a5702303382a42291
Parents: 725288e
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Jul 21 22:45:23 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Jul 21 22:45:23 2014 +0200

----------------------------------------------------------------------
 runtime/c/.gitignore | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/8b685dcc/runtime/c/.gitignore
----------------------------------------------------------------------
diff --git a/runtime/c/.gitignore b/runtime/c/.gitignore
index 8778906..afe808f 100644
--- a/runtime/c/.gitignore
+++ b/runtime/c/.gitignore
@@ -6,6 +6,7 @@
 /charmonizer
 /charmonizer.exe
 /charmony.h
+/libcfish-*.dll
 /libcfish.*.dylib
 /libcfish.dylib
 /libcfish.so


[3/4] git commit: Set C_INCLUDE_PATH in dev env for MinGW

Posted by nw...@apache.org.
Set C_INCLUDE_PATH in dev env for MinGW


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/725288ef
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/725288ef
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/725288ef

Branch: refs/heads/mingw-fixes
Commit: 725288efdaf67797ab97437ad0d2b7e05bc62fc1
Parents: 7bd8f8f
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Jul 21 22:43:48 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Jul 21 22:43:48 2014 +0200

----------------------------------------------------------------------
 devel/bin/setup_env.bat | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/725288ef/devel/bin/setup_env.bat
----------------------------------------------------------------------
diff --git a/devel/bin/setup_env.bat b/devel/bin/setup_env.bat
index 8357073..dd734c7 100644
--- a/devel/bin/setup_env.bat
+++ b/devel/bin/setup_env.bat
@@ -29,6 +29,8 @@ call :add_to_path "%PATH%" "%runtime_dir%\c"
 set PATH=%retval%
 call :add_to_path "%INCLUDE%" "%runtime_dir%\perl\xs"
 set INCLUDE=%retval%
+call :add_to_path "%C_INCLUDE_PATH%" "%runtime_dir%\perl\xs"
+set C_INCLUDE_PATH=%retval%
 call :add_to_path "%LIB%" "%runtime_dir%\c"
 set LIB=%retval%
 call :add_to_path "%CLOWNFISH_INCLUDE%" "%runtime_dir%\core"
@@ -45,6 +47,7 @@ set PERL5LIB=%retval%
 endlocal & (
     set "PATH=%PATH%"
     set "INCLUDE=%INCLUDE%"
+    set "C_INCLUDE_PATH=%C_INCLUDE_PATH%"
     set "LIB=%LIB%"
     set "CLOWNFISH_INCLUDE=%CLOWNFISH_INCLUDE%"
     set "PERL5LIB=%PERL5LIB%"


[2/4] git commit: Regenerate charmonizer.c for MinGW

Posted by nw...@apache.org.
Regenerate charmonizer.c for MinGW


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/7bd8f8f5
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/7bd8f8f5
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/7bd8f8f5

Branch: refs/heads/mingw-fixes
Commit: 7bd8f8f5cfbf53f4988414fb0561684bad3dfce8
Parents: f44a56c
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Jul 21 22:34:16 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Jul 21 22:34:16 2014 +0200

----------------------------------------------------------------------
 compiler/common/charmonizer.c | 14 +++++++++++++-
 runtime/common/charmonizer.c  | 14 +++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/7bd8f8f5/compiler/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/compiler/common/charmonizer.c b/compiler/common/charmonizer.c
index 8a667db..d3e4e8a 100644
--- a/compiler/common/charmonizer.c
+++ b/compiler/common/charmonizer.c
@@ -6887,7 +6887,19 @@ chaz_SymbolVisibility_run(void) {
         if (chaz_CC_test_compile(code_buf)) {
             can_control_visibility = true;
             chaz_ConfWriter_add_def("EXPORT", export_win);
-            chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+            if (chaz_CC_gcc_version_num()) {
+                /*
+                 * Under MinGW, symbols with dllimport storage class aren't
+                 * constant. If a global variable is initialized to such a
+                 * symbol, an "initializer element is not constant" error
+                 * results. Omitting dllimport works, but has a small
+                 * performance penalty.
+                 */
+                chaz_ConfWriter_add_def("IMPORT", NULL);
+            }
+            else {
+                chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/7bd8f8f5/runtime/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/runtime/common/charmonizer.c b/runtime/common/charmonizer.c
index d44c2fe..e16cb36 100644
--- a/runtime/common/charmonizer.c
+++ b/runtime/common/charmonizer.c
@@ -6887,7 +6887,19 @@ chaz_SymbolVisibility_run(void) {
         if (chaz_CC_test_compile(code_buf)) {
             can_control_visibility = true;
             chaz_ConfWriter_add_def("EXPORT", export_win);
-            chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+            if (chaz_CC_gcc_version_num()) {
+                /*
+                 * Under MinGW, symbols with dllimport storage class aren't
+                 * constant. If a global variable is initialized to such a
+                 * symbol, an "initializer element is not constant" error
+                 * results. Omitting dllimport works, but has a small
+                 * performance penalty.
+                 */
+                chaz_ConfWriter_add_def("IMPORT", NULL);
+            }
+            else {
+                chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+            }
         }
     }