[svn:parrot] r35778 - trunk/src
[email protected] Mon, 19 Jan 2009 15:16:19 -0800 (PST)
| Newsgroups | perl.cvs.parrot |
|---|---|
| Message-ID | <[email protected]> |
Author: allison
Date: Mon Jan 19 15:16:18 2009
New Revision: 35778
Modified:
trunk/src/library.c
Log:
[install] Include configured 'libdir' and 'includedir' in default search path for libraries and include files.
Modified: trunk/src/library.c
==============================================================================
--- trunk/src/library.c (original)
+++ trunk/src/library.c Mon Jan 19 15:16:18 2009
@@ -160,12 +160,15 @@
STRING *entry;
PMC * const iglobals = interp->iglobals;
+ PMC * const config_hash =
+ VTABLE_get_pmc_keyed_int(interp, iglobals, (INTVAL) IGLOBALS_CONFIG_HASH);
+
/* create the lib_paths array */
PMC * const lib_paths = pmc_new(interp, enum_class_FixedPMCArray);
-
VTABLE_set_integer_native(interp, lib_paths, PARROT_LIB_PATH_SIZE);
VTABLE_set_pmc_keyed_int(interp, iglobals,
IGLOBALS_LIB_PATHS, lib_paths);
+
/* each is an array of strings */
/* define include paths */
paths = pmc_new(interp, enum_class_ResizableStringArray);
@@ -177,6 +180,11 @@
VTABLE_push_string(interp, paths, entry);
entry = CONST_STRING(interp, "./");
VTABLE_push_string(interp, paths, entry);
+ if (VTABLE_elements(interp, config_hash)) {
+ STRING * const key = CONST_STRING(interp, "includedir");
+ entry = VTABLE_get_string_keyed_str(interp, config_hash, key);
+ VTABLE_push_string(interp, paths, entry);
+ }
entry = CONST_STRING(interp, "lib/parrot/include/");
VTABLE_push_string(interp, paths, entry);
entry = CONST_STRING(interp, "lib/parrot/");
@@ -192,6 +200,11 @@
VTABLE_push_string(interp, paths, entry);
entry = CONST_STRING(interp, "./");
VTABLE_push_string(interp, paths, entry);
+ if (VTABLE_elements(interp, config_hash)) {
+ STRING * const key = CONST_STRING(interp, "libdir");
+ entry = VTABLE_get_string_keyed_str(interp, config_hash, key);
+ VTABLE_push_string(interp, paths, entry);
+ }
entry = CONST_STRING(interp, "lib/parrot/library/");
VTABLE_push_string(interp, paths, entry);
entry = CONST_STRING(interp, "lib/parrot/");