[Vm-dev] [commit][2813] do not create disabledPlugins.c; create sqNamedPrims. h for internal plugins successfully configured; copy interp. h into build dir

commits at squeakvm.org commits at squeakvm.org
Mon Nov 18 23:17:12 UTC 2013


Revision: 2813
Author:   piumarta
Date:     2013-11-18 15:17:09 -0800 (Mon, 18 Nov 2013)
Log Message:
-----------
do not create disabledPlugins.c; create sqNamedPrims.h for internal plugins successfully configured; copy interp.h into build dir

Modified Paths:
--------------
    trunk/platforms/unix/ChangeLog
    trunk/platforms/unix/cmake/Plugins.cmake

Modified: trunk/platforms/unix/ChangeLog
===================================================================
--- trunk/platforms/unix/ChangeLog	2013-11-14 05:44:19 UTC (rev 2812)
+++ trunk/platforms/unix/ChangeLog	2013-11-18 23:17:09 UTC (rev 2813)
@@ -1,3 +1,9 @@
+2013-11-18  Ian Piumarta  <com -dot- gmail -at- piumarta (backwards)>
+
+	* cmake/Plugins.cmake: Remove handling of disabled plugins.
+	Create sqNamedPrims.h from plugins_int once configuration is
+	complete.  Copy interp.h from generated source into build dir.
+
 2013-11-13  Ian Piumarta  <com -dot- gmail -at- piumarta (backwards)>
 
 	* cmake/Plugins.cmake: Look for plugins.{int,ext,exc} in ${bld},

Modified: trunk/platforms/unix/cmake/Plugins.cmake
===================================================================
--- trunk/platforms/unix/cmake/Plugins.cmake	2013-11-14 05:44:19 UTC (rev 2812)
+++ trunk/platforms/unix/cmake/Plugins.cmake	2013-11-18 23:17:09 UTC (rev 2813)
@@ -1,6 +1,6 @@
 # Figure out which plugins to build and create a configuration for each.
 # 
-# Last edited: 2013-11-13 21:43:50 by piumarta on emilia
+# Last edited: 2013-11-18 15:12:57 by piumarta on emilia
 
 IF (EXISTS ${bld}/plugins.int)
   FILE (STRINGS ${bld}/plugins.int plugins_int)
@@ -48,11 +48,9 @@
 
 FILE (GLOB plugins_vm RELATIVE ${unix} ${unix}/vm-*)
 
-FILE_COPY (${bld}/disabledPlugins.c ${config}/disabledPlugins.c)
+# copy generated headers to ${bld} to eliminate ${src} from the include search path
 
-MACRO (DISABLED_PLUGIN plugin)
-  FILE (APPEND ${bld}/disabledPlugins.c "disabled(${plugin})\n")
-ENDMACRO (DISABLED_PLUGIN)
+FILE_COPY (${bld}/interp.h ${src}/vm/interp.h)
 
 MACRO (INTERNAL_PLUGIN plugin)
   SET (plugin_sources "")
@@ -147,9 +145,6 @@
     ENDIF ()
     IF (DEFINED plugin_disabled)
       LIST (REMOVE_ITEM ${plugins_list} ${plugin})
-      IF (${plugins_list} STREQUAL "plugins_int")
-        LIST (APPEND plugins_dis ${plugin})
-      ENDIF (${plugins_list} STREQUAL "plugins_int")
       MESSAGE ("!! ${plugin} disabled")
       SET (${plugin}_disabled 1)
     ELSE (DEFINED plugin_disabled)
@@ -168,9 +163,6 @@
 ENDMACRO (CONFIGURE_PLUGINS)
 
 MACRO (BUILD_PLUGINS)
-  FOREACH (plugin ${plugins_dis})
-    DISABLED_PLUGIN (${plugin})
-  ENDFOREACH (plugin)
   FOREACH (plugin ${plugins_int})
     INTERNAL_PLUGIN (${plugin})
   ENDFOREACH (plugin)
@@ -180,6 +172,27 @@
   FOREACH (plugin ${plugins_vm})
     EXTERNAL_PLUGIN (${plugin})
   ENDFOREACH (plugin)
+  # create sqNamedPrims.h containing a list of exports for all configured internal plugins
+  SET (exports_h "${bld}/sqNamedPrims.h")
+  FILE (WRITE ${exports_h} "/* Automatically generated by Plugins.cmake from plugins.int */\n")
+  FILE (APPEND ${exports_h} "extern sqExport vm_exports[];\n")
+  FILE (APPEND ${exports_h} "extern sqExport os_exports[];\n")
+  FOREACH (plugin ${plugins_int})
+    FILE (APPEND ${exports_h} "extern sqExport ")
+    FILE (APPEND ${exports_h} ${plugin})
+    FILE (APPEND ${exports_h} "_exports[];\n")
+  ENDFOREACH (plugin)
+  FILE (APPEND ${exports_h} "\n")
+  FILE (APPEND ${exports_h} "sqExport *pluginExports[] = {\n")
+  FILE (APPEND ${exports_h} "\tvm_exports,\n")
+  FILE (APPEND ${exports_h} "\tos_exports,\n")
+  FOREACH (plugin ${plugins_int})
+    FILE (APPEND ${exports_h} "\t")
+    FILE (APPEND ${exports_h} ${plugin})
+    FILE (APPEND ${exports_h} "_exports,\n")
+  ENDFOREACH (plugin)
+  FILE (APPEND ${exports_h} "\tNULL\n")
+  FILE (APPEND ${exports_h} "};\n")
 ENDMACRO (BUILD_PLUGINS)
 
 MACRO (PLUGIN_MESSAGE msg)



More information about the Vm-dev mailing list