summaryrefslogtreecommitdiffstats
path: root/generic/tclPkgConfig.c
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2003-06-09 22:48:32 (GMT)
committerandreas_kupries <akupries@shaw.ca>2003-06-09 22:48:32 (GMT)
commit2de53852436287ca9c97b41636e38df538506625 (patch)
tree9f56d3de04d71da41a5b38e81e4714993d4d0af1 /generic/tclPkgConfig.c
parenta8853bfaf368294f76dbe7dba99f5f111377f618 (diff)
downloadtcl-2de53852436287ca9c97b41636e38df538506625.zip
tcl-2de53852436287ca9c97b41636e38df538506625.tar.gz
tcl-2de53852436287ca9c97b41636e38df538506625.tar.bz2
* generic/tcl.decls: Ported the changes from the
* generic/tcl.h: 'tip-59-implementation' branch into the CVS * generic/tclBasic.c: head. Regenerated stub table. Regenerated * generic/tclInt.h: the configure's scripts, with help from Joe * generic/tclDecls.h English. * generic/tclStubInit.c: * generic/tclConfig.c: * generic/tclPkgConfig.c: * unix/Makefile.in: * unix/configure.in: The changes in the windows section are not * unix/tcl.m4: yet committed, they await feedback from * unix/mkLinks: David Gravereaux. * doc/RegConfig.3: * mac/tclMacPkgConfig.c: * tests/config.test:
Diffstat (limited to 'generic/tclPkgConfig.c')
-rw-r--r--generic/tclPkgConfig.c122
1 files changed, 122 insertions, 0 deletions
diff --git a/generic/tclPkgConfig.c b/generic/tclPkgConfig.c
new file mode 100644
index 0000000..06070ef
--- /dev/null
+++ b/generic/tclPkgConfig.c
@@ -0,0 +1,122 @@
+/*
+ * tclPkgConfig.c --
+ *
+ * This file contains the configuration information to
+ * embed into the tcl binary library.
+ *
+ * Copyright (c) 2002 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclPkgConfig.c,v 1.2 2003/06/09 22:48:33 andreas_kupries Exp $
+ */
+
+/* Note, the definitions in this module are influenced by the
+ * following C preprocessor macros:
+ *
+ * OSCMa = shortcut for "old style configuration macro activates"
+ * NSCMdt = shortcut for "new style configuration macro declares that"
+ *
+ * - TCL_THREADS OSCMa compilation as threaded core.
+ * - TCL_MEM_DEBUG OSCMa memory debugging.
+ * - TCL_COMPILE_DEBUG OSCMa debugging of bytecode compiler.
+ * - TCL_COMPILE_STATS OSCMa bytecode compiler statistics.
+ *
+ * - TCL_CFG_DO64BIT NSCMdt tcl is compiled for a 64bit system.
+ * - TCL_CFG_DEBUG NSCMdt tcl is compiled with symbol info on.
+ * - TCL_CFG_OPTIMIZED NSCMdt tcl is compiled with cc optimizations on.
+ * - TCL_CFG_PROFILED NSCMdt tcl is compiled with profiling info.
+ *
+ * - CFG_RUNTIME_* Paths to various stuff at runtime.
+ * - CFG_INSTALL_* Paths to various stuff at installation time.
+ *
+ * - TCL_CFGVAL_ENCODING string containing the encoding used for the
+ * configuration values.
+ */
+
+#include "tclInt.h"
+
+
+
+/* Use C preprocessor statements to define the various values for the
+ * embedded configuration information. */
+
+#ifdef TCL_THREADS
+# define CFG_THREADED "1"
+#else
+# define CFG_THREADED "0"
+#endif
+#ifdef TCL_MEM_DEBUG
+# define CFG_MEMDEBUG "1"
+#else
+# define CFG_MEMDEBUG "0"
+#endif
+#ifdef TCL_COMPILE_DEBUG
+# define CFG_COMPILE_DEBUG "1"
+#else
+# define CFG_COMPILE_DEBUG "0"
+#endif
+#ifdef TCL_COMPILE_STATS
+# define CFG_COMPILE_STATS "1"
+#else
+# define CFG_COMPILE_STATS "0"
+#endif
+#ifdef TCL_CFG_DO64BIT
+# define CFG_64 "1"
+#else
+# define CFG_64 "0"
+#endif
+#ifdef TCL_CFG_DEBUG
+# define CFG_DEBUG "1"
+#else
+# define CFG_DEBUG "0"
+#endif
+#ifdef TCL_CFG_OPTIMIZED
+# define CFG_OPTIMIZED "1"
+#else
+# define CFG_OPTIMIZED "0"
+#endif
+#ifdef TCL_CFG_PROFILED
+# define CFG_PROFILED "1"
+#else
+# define CFG_PROFILED "0"
+#endif
+
+static Tcl_Config cfg [] = {
+ {"debug", CFG_DEBUG},
+ {"threaded", CFG_THREADED},
+ {"profiled", CFG_PROFILED},
+ {"64bit", CFG_64},
+ {"optimized", CFG_OPTIMIZED},
+ {"mem_debug", CFG_MEMDEBUG},
+ {"compile_debug", CFG_COMPILE_DEBUG},
+ {"compile_stats", CFG_COMPILE_STATS},
+
+ /* Runtime paths to various stuff */
+
+ {"libdir,runtime", CFG_RUNTIME_LIBDIR},
+ {"bindir,runtime", CFG_RUNTIME_BINDIR},
+ {"scriptdir,runtime", CFG_RUNTIME_SCRDIR},
+ {"includedir,runtime", CFG_RUNTIME_INCDIR},
+ {"docdir,runtime", CFG_RUNTIME_DOCDIR},
+
+ /* Installation paths to various stuff */
+
+ {"libdir,install", CFG_INSTALL_LIBDIR},
+ {"bindir,install", CFG_INSTALL_BINDIR},
+ {"scriptdir,install", CFG_INSTALL_SCRDIR},
+ {"includedir,install", CFG_INSTALL_INCDIR},
+ {"docdir,install", CFG_INSTALL_DOCDIR},
+
+ /* Last entry, closes the array */
+ {NULL, NULL}
+};
+
+void
+TclInitEmbeddedConfigurationInformation (interp)
+ Tcl_Interp* interp; /* Interpreter the configuration
+ * command is registered in. */
+{
+ Tcl_RegisterConfig (interp, "tcl", cfg, TCL_CFGVAL_ENCODING);
+}