]> git.mxchange.org Git - flightgear.git/commitdiff
Make all PSL support conditional, because it's not included in plib
authordavid <david>
Fri, 17 Jan 2003 12:41:47 +0000 (12:41 +0000)
committerdavid <david>
Fri, 17 Jan 2003 12:41:47 +0000 (12:41 +0000)
1.6.  The macro is HAVE_PLIB_PSL.

configure.ac
src/Main/Makefile.am
src/Main/fg_commands.cxx
src/Main/fg_init.cxx
src/Makefile.am
src/Scripting/scriptmgr.cxx

index e5fd840d5920cc16a3b90986d73a64205547385d..3d9bf8158ef1dadb14efb2edb031f56c10551314 100644 (file)
@@ -353,9 +353,9 @@ dnl joystick lib
 AC_DEFINE([ENABLE_PLIB_JOYSTICK], 1, [Define to enable plib joystick support])
 
 
-dnl Compiling an in-memory PSL script is available only in the CVS
+dnl Checking for PSL in plib
 dnl version of plib, so check for it.
-AC_MSG_CHECKING([for plib PSL in-memory script compilation support])
+AC_MSG_CHECKING([for plib PSL scripting support])
 AC_COMPILE_IFELSE([
 #include <plib/psl.h>
 
@@ -367,13 +367,10 @@ int main() {
 }
 ],
   [AC_MSG_RESULT(yes);
-   fg_psl_string_compile=yes],
+   have_plib_psl=yes],
   AC_MSG_RESULT(no)
 )
-if test "x$fg_psl_string_compile" = "xyes"; then
-  AC_DEFINE([FG_PSL_STRING_COMPILE], 1,
-            [Support for compiling PSL scripts from an in-memory string.])
-fi
+AM_CONDITIONAL(HAVE_PLIB_PSL, test "x$have_plib_psl" = "xyes")
 
 dnl Check for MetaKit
 AC_CHECK_HEADER(mk4.h)
@@ -597,13 +594,14 @@ echo "================="
 
 echo "Prefix: $prefix"
 
-if test "x$fg_psl_string_compile" = "xyes"; then
-    echo "Scripts for input bindings: yes"
+if test "x$have_plib_psl" = "xyes"; then
+    echo "Plib PSL scripting: yes"
 else
-    echo "Scripts for input bindings: $fg_psl_string_compile"
-    echo "  PSL scripts attached to input bindings will not"
-    echo "  work.  Download the latest CVS version of plib"
-    echo "  if you would like to enable them."
+    echo "Plib PSL scripting: $fg_psl_string_compile"
+    echo "  You will not be able to run scripts written in PSL"
+    echo "  and some advanced GUI and input features may not"
+    echo "  work.  Download and install the latest CVS version"
+    echo "  of plib if you would like to enable PSL support."
 fi
 
 if test "x$with_logging" != "x"; then
index 184fff0df2f45eb00d918d567823fc01bc8b004b..968253b825fa6f25c5059c3c0c481b7a5a18d704 100644 (file)
@@ -19,6 +19,12 @@ else
 THREAD_LIBS =
 endif
 
+if HAVE_PLIB_PSL
+PSL_LIBS = -lplibpsl
+else
+PSL_LIBS =
+endif
+
 AM_CXXFLAGS = -DPKGLIBDIR=\"$(pkglibdir)\"
 
 EXTRA_DIST = 3dfx.sh runfgfs.in runfgfs.bat.in
@@ -78,7 +84,8 @@ fgfs_LDADD = \
        -lsgmath -lsgbucket -lsgdebug -lsgmagvar -lsgmisc -lsgxml \
        -lsgserial \
        $(THREAD_LIBS) \
-       -lplibpu -lplibfnt -lplibjs -lplibnet -lplibssg -lplibsg -lplibul -lplibpsl \
+       -lplibpu -lplibfnt -lplibjs -lplibnet -lplibssg -lplibsg -lplibul \
+        $(PSL_LIBS) \
        -lmk4 -lz \
        $(opengl_LIBS) \
        $(audio_LIBS)
index d12fc57f58da67a45628c375179b9bb2d1825564..7320edb5e1f58912ee14f0c7ab6544c2affb4926 100644 (file)
@@ -19,7 +19,9 @@
 #include <GUI/gui.h>
 #include <GUI/new_gui.hxx>
 #include <Scenery/tilemgr.hxx>
+#if defined(HAVE_PLIB_PSL)
 #include <Scripting/scriptmgr.hxx>
+#endif
 #include <Time/tmp.hxx>
 
 #include "fg_init.hxx"
@@ -129,6 +131,7 @@ do_null (const SGPropertyNode * arg)
   return true;
 }
 
+#if defined(HAVE_PLIB_PSL)
 /**
  * Built-in command: run a PSL script.
  */
@@ -140,6 +143,7 @@ do_script (const SGPropertyNode * arg)
 
     return mgr->run(arg->getStringValue("script"));
 }
+#endif // HAVE_PLIB_PSL
 
 
 /**
@@ -654,7 +658,9 @@ static struct {
   SGCommandMgr::command_t command;
 } built_ins [] = {
     { "null", do_null },
+#if defined(HAVE_PLIB_PSL)
     { "script", do_script },
+#endif // HAVE_PLIB_PSL
     { "exit", do_exit },
     { "load", do_load },
     { "save", do_save },
index b145aa6b162291b98256235e89540cbe8f273da4..842509c5421d77468437206131ef06403a4a12b5 100644 (file)
 #include <Navaids/navlist.hxx>
 #include <Scenery/scenery.hxx>
 #include <Scenery/tilemgr.hxx>
+#if defined(HAVE_PLIB_PSL)
 #include <Scripting/scriptmgr.hxx>
+#endif
 #include <Sound/fg_fx.hxx>
 #include <Sound/soundmgr.hxx>
 #include <Systems/system_mgr.hxx>
@@ -1478,11 +1480,13 @@ bool fgInitSubsystems() {
     globals->add_subsystem("logger", new FGLogger);
 
 
+#if defined(HAVE_PLIB_PSL)
     ////////////////////////////////////////////////////////////////////
     // Create and register the script manager.
     ////////////////////////////////////////////////////////////////////
 
     globals->add_subsystem("scripting", new FGScriptMgr);
+#endif // HAVE_PLIB_PSL
 
 
     ////////////////////////////////////////////////////////////////////
index 0aa54451b9166ede1f34b3c0cf105dc7b89d710e..e820a20c0d7c7459018cd5cef52b4b34667b081d 100644 (file)
@@ -10,6 +10,12 @@ else
 NETWORK_DIRS = Network
 endif
 
+if HAVE_PLIB_PSL
+SCRIPTING_DIRS = Scripting
+else
+SCRIPTING_DIRS =
+endif
+
 SUBDIRS = \
         Include \
         Aircraft \
@@ -27,7 +33,7 @@ SUBDIRS = \
         $(NETWORK_DIRS) \
         Objects \
         Scenery \
-        Scripting \
+        $(SCRIPTING_DIRS) \
         Sound \
         Systems \
         Time \
index 4d5f5029ab3f521c5f5a09e8c27d578847253fb6..a9b18424c9dd4e31c220e52415cc9181a979fbda 100644 (file)
@@ -137,7 +137,6 @@ FGScriptMgr::update (double delta_time_sec)
 bool
 FGScriptMgr::run (const char * script) const
 {
-#if defined(FG_PSL_STRING_COMPILE)
                                 // FIXME: detect and report errors
     pslProgram program(extensions);
     if (program.compile(script, globals->get_fg_root().c_str()) > 0)
@@ -145,10 +144,6 @@ FGScriptMgr::run (const char * script) const
     while (program.step() != PSL_PROGRAM_END)
         ;
     return true;
-#else
-    SG_LOG(SG_INPUT, SG_ALERT, "Input-binding scripts not supported");
-    return false;
-#endif
 }
 
 bool