From 274fc1b59c18596d95564d835d8aae9b429d462d Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Mon, 2 Jan 2012 01:24:07 +0800 Subject: [PATCH] fix link error --- mk/platform.mk | 2 +- src/comp/back/link.rs | 5 ++++- src/etc/snapshot.py | 10 +++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mk/platform.mk b/mk/platform.mk index a978ccc95aa..40a3dd8ebc6 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -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 diff --git a/src/comp/back/link.rs b/src/comp/back/link.rs index 7f413735acd..de55f8e7fd2 100644 --- a/src/comp/back/link.rs +++ b/src/comp/back/link.rs @@ -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 diff --git a/src/etc/snapshot.py b/src/etc/snapshot.py index 130304fdab8..673facfe70a 100644 --- a/src/etc/snapshot.py +++ b/src/etc/snapshot.py @@ -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): -- GitLab