[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] updated library search path patch against cvs
From: |
Ahilan Anantha |
Subject: |
[Tinycc-devel] updated library search path patch against cvs |
Date: |
Tue, 17 May 2005 16:46:28 -0700 |
User-agent: |
Mozilla Thunderbird 1.0.2-1.3.3 (X11/20050513) |
Apologies for providing a patch against 0.9.22 instead of CVS!
Here's a new patch against CVS for the library search patch problem.
Cheers,
Ahilan
--- tcc.c.orig 2005-05-17 16:32:22.000000000 -0700
+++ tcc.c 2005-05-17 16:30:45.000000000 -0700
@@ -9696,19 +9696,6 @@
tcc_define_symbol(s, "__PTRDIFF_TYPE__", "int");
tcc_define_symbol(s, "__WCHAR_TYPE__", "int");
- /* default library paths */
-#ifdef TCC_TARGET_PE
- {
- char buf[1024];
- snprintf(buf, sizeof(buf), "%s/lib", tcc_lib_path);
- tcc_add_library_path(s, buf);
- }
-#else
- tcc_add_library_path(s, "/usr/local/lib");
- tcc_add_library_path(s, "/usr/lib");
- tcc_add_library_path(s, "/lib");
-#endif
-
/* no section zero */
dynarray_add((void ***)&s->sections, &s->nb_sections, NULL);
@@ -9954,23 +9941,26 @@
char buf[1024];
int i;
- /* first we look for the dynamic library if not static linking */
- if (!s->static_link) {
+ /* look for the library */
+ for(i = 0; i < s->nb_library_paths; i++) {
+ /* if dynamically linking, prefer the dynamic library
+ to the shared library */
+ if (!s->static_link) {
#ifdef TCC_TARGET_PE
- snprintf(buf, sizeof(buf), "%s.def", libraryname);
+ snprintf(buf, sizeof(buf), "%s/%s.def",
+ s->library_paths[i], libraryname);
#else
- snprintf(buf, sizeof(buf), "lib%s.so", libraryname);
+ snprintf(buf, sizeof(buf), "%s/lib%s.so",
+ s->library_paths[i], libraryname);
#endif
- if (tcc_add_dll(s, buf, 0) == 0)
- return 0;
- }
-
- /* then we look for the static library */
- for(i = 0; i < s->nb_library_paths; i++) {
- snprintf(buf, sizeof(buf), "%s/lib%s.a",
- s->library_paths[i], libraryname);
- if (tcc_add_file_internal(s, buf, 0) == 0)
- return 0;
+ if (tcc_add_file_internal(s, buf, 0) == 0)
+ return 0;
+ }
+
+ snprintf(buf, sizeof(buf), "%s/lib%s.a",
+ s->library_paths[i], libraryname);
+ if (tcc_add_file_internal(s, buf, 0) == 0)
+ return 0;
}
return -1;
}
@@ -10539,6 +10529,19 @@
optind = parse_args(s, argc - 1, argv + 1) + 1;
+ /* default library paths */
+#ifdef TCC_TARGET_PE
+ {
+ char buf[1024];
+ snprintf(buf, sizeof(buf), "%s/lib", tcc_lib_path);
+ tcc_add_library_path(s, buf);
+ }
+#else
+ tcc_add_library_path(s, "/usr/local/lib");
+ tcc_add_library_path(s, "/usr/lib");
+ tcc_add_library_path(s, "/lib");
+#endif
+
if (print_search_dirs) {
/* enough for Linux kernel */
printf("install: %s/\n", tcc_lib_path);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tinycc-devel] updated library search path patch against cvs,
Ahilan Anantha <=