]> git.lizzy.rs Git - rust.git/commitdiff
fix link error
authorJyun-Yan You <jyyou@cs.nctu.edu.tw>
Sun, 1 Jan 2012 17:24:07 +0000 (01:24 +0800)
committerBrian Anderson <banderson@mozilla.com>
Mon, 2 Jan 2012 04:18:55 +0000 (20:18 -0800)
mk/platform.mk
src/comp/back/link.rs
src/etc/snapshot.py

index a978ccc95aa16bee630cf195fd81f00b5c8cb59e..40a3dd8ebc6b959d257f4f0e8f6c6a50f1cbb587 100644 (file)
@@ -25,7 +25,7 @@ ifneq ($(findstring freebsd,$(CFG_OSTYPE)),)
   CFG_LIB_NAME=lib$(1).so
   CFG_LIB_GLOB=lib$(1)-*.so
   CFG_GCCISH_CFLAGS += -fPIC -I/usr/local/include
-  CFG_GCCISH_LINK_FLAGS += -shared -fPIC -lpthread -lrt -L/usr/local/lib -lexecinfo
+  CFG_GCCISH_LINK_FLAGS += -shared -fPIC -lpthread -lrt
   CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
   CFG_GCCISH_PRE_LIB_FLAGS := -Wl,-whole-archive
   CFG_GCCISH_POST_LIB_FLAGS := -Wl,-no-whole-archive
index 7f413735acd6fc0e2ddabddf0ea4442603569ad7..de55f8e7fd22cc2b36b5bf2cbcc7cfffd4fa5e1e 100644 (file)
@@ -660,7 +660,10 @@ fn rmext(filename: str) -> str {
     }
 
     if sess.get_targ_cfg().os == session::os_freebsd {
-        gcc_args += ["-lrt", "-L/usr/local/lib", "-lexecinfo"];
+        gcc_args += ["-lrt", "-L/usr/local/lib", "-lexecinfo",
+                     "-L/usr/local/lib/gcc46",
+                     "-L/usr/local/lib/gcc44", "-lstdc++",
+                     "-Wl,-z,origin"];
     }
 
     // OS X 10.6 introduced 'compact unwind info', which is produced by the
index 130304fdab8321ed178f34ec55ff37f732b12f93..673facfe70a7f104f15d93e73ab4c6180aab0724 100644 (file)
@@ -33,7 +33,13 @@ snapshot_files = {
               "lib/std-*.dll",
               "lib/rustc-*.dll",
               "lib/rustrt.dll",
-              "lib/rustllvm.dll"]
+              "lib/rustllvm.dll"],
+    "freebsd": ["bin/rustc",
+                "lib/libcore-*.so",
+                "lib/libstd-*.so",
+                "lib/librustc-*.so",
+                "lib/librustrt.so",
+                "lib/librustllvm.so"]
     }
 
 def parse_line(n, line):
@@ -73,6 +79,8 @@ def get_kernel(triple):
         return "winnt"
     if os_name == "darwin":
         return "macos"
+    if os_name == "freebsd":
+        return "freebsd"
     return "linux"
 
 def get_cpu(triple):