@@ -171,6 +171,7 @@ KNOWN_SETTINGS=(
171
171
sil-verify-all " 0" " If enabled, run the sil verifier be run after every SIL pass"
172
172
swift-enable-ast-verifier " 1" " If enabled, and the assertions are enabled, the built Swift compiler will run the AST verifier every time it is invoked"
173
173
swift-enable-target-linux " 1" " Enable compiler support for targeting Linux"
174
+ swift-enable-target-freebsd " 1" " Enable compiler support for targeting FreeBSD"
174
175
swift-runtime-enable-dtrace " 0" " Enable runtime dtrace support"
175
176
swift-runtime-enable-leak-checker " 0" " Enable leaks checking routines in the runtime"
176
177
use-gold-linker " " " Enable using the gold linker"
@@ -218,6 +219,9 @@ function set_deployment_target_based_options() {
218
219
linux-x86_64)
219
220
SWIFT_HOST_VARIANT_ARCH=" x86_64"
220
221
;;
222
+ freebsd-x86_64)
223
+ SWIFT_HOST_VARIANT_ARCH=" x86_64"
224
+ ;;
221
225
macosx-* | iphoneos-* | iphonesimulator-* | \
222
226
appletvos-* | appletvsimulator-* | \
223
227
watchos-* | watchsimulator-* )
@@ -741,6 +745,12 @@ case "$(uname -s)" in
741
745
)
742
746
;;
743
747
748
+ FreeBSD)
749
+ NATIVE_TOOLS_DEPLOYMENT_TARGETS=(
750
+ " freebsd-x86_64"
751
+ )
752
+ ;;
753
+
744
754
* )
745
755
echo " Unknown operating system"
746
756
exit 1
@@ -812,6 +822,12 @@ case "$(uname -s)" in
812
822
)
813
823
;;
814
824
825
+ FreeBSD)
826
+ STDLIB_DEPLOYMENT_TARGETS=(
827
+ " freebsd-x86_64"
828
+ )
829
+ ;;
830
+
815
831
* )
816
832
echo " Unknown operating system"
817
833
exit 1
@@ -898,6 +914,10 @@ for deployment_target in "${STDLIB_DEPLOYMENT_TARGETS[@]}"; do
898
914
build_for_this_target=1
899
915
test_this_target=1
900
916
;;
917
+ freebsd-* )
918
+ build_for_this_target=1
919
+ test_this_target=1
920
+ ;;
901
921
macosx-* )
902
922
build_for_this_target=$( not $SKIP_BUILD_OSX )
903
923
test_this_target=$( not $SKIP_TEST_OSX )
@@ -1644,6 +1664,23 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
1644
1664
" ${LLDB_SOURCE_DIR} "
1645
1665
)
1646
1666
;;
1667
+ FreeBSD)
1668
+ cmake_options=(
1669
+ " ${cmake_options[@]} "
1670
+ -DCMAKE_BUILD_TYPE:STRING=" ${LLDB_BUILD_TYPE} "
1671
+ -DCMAKE_INSTALL_PREFIX:PATH=" ${INSTALL_PREFIX} "
1672
+ -DLLDB_PATH_TO_LLVM_SOURCE:PATH=" ${LLVM_SOURCE_DIR} "
1673
+ -DLLDB_PATH_TO_CLANG_SOURCE:PATH=" ${CLANG_SOURCE_DIR} "
1674
+ -DLLDB_PATH_TO_SWIFT_SOURCE:PATH=" ${SWIFT_SOURCE_DIR} "
1675
+ -DLLDB_PATH_TO_LLVM_BUILD:PATH=" ${llvm_build_dir} "
1676
+ -DLLDB_PATH_TO_CLANG_BUILD:PATH=" ${llvm_build_dir} "
1677
+ -DLLDB_PATH_TO_SWIFT_BUILD:PATH=" ${swift_build_dir} "
1678
+ -DLLDB_PATH_TO_CMARK_BUILD:PATH=" ${cmark_build_dir} "
1679
+ -DLLDB_IS_BUILDBOT_BUILD=" ${LLDB_IS_BUILDBOT_BUILD} "
1680
+ -DLLDB_BUILD_DATE:STRING=" \" ${LLDB_BUILD_DATE} \" "
1681
+ " ${LLDB_SOURCE_DIR} "
1682
+ )
1683
+ ;;
1647
1684
Darwin)
1648
1685
# Set up flags to pass to xcodebuild
1649
1686
lldb_xcodebuild_options=(
@@ -1796,7 +1833,7 @@ tests_busted ()
1796
1833
1797
1834
for deployment_target in " ${STDLIB_DEPLOYMENT_TARGETS[@]} " ; do
1798
1835
case $deployment_target in
1799
- linux-* | macosx-* )
1836
+ linux-* | freebsd- * | macosx-* )
1800
1837
# OK, we can run tests directly.
1801
1838
;;
1802
1839
iphoneos-* | iphonesimulator-* | appletvos-* | appletvsimulator-* | watchos-* | watchsimulator-* )
@@ -1990,6 +2027,8 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
1990
2027
case " $( uname -s) " in
1991
2028
Linux)
1992
2029
;;
2030
+ FreeBSD)
2031
+ ;;
1993
2032
Darwin)
1994
2033
set_lldb_build_mode
1995
2034
pushd ${LLDB_SOURCE_DIR}
@@ -2026,6 +2065,9 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
2026
2065
continue
2027
2066
fi
2028
2067
LIB_TARGET=" linux"
2068
+ if [[ ` uname -s` == " FreeBSD" ]]; then
2069
+ LIB_TARGET=" freebsd"
2070
+ fi
2029
2071
if [[ ` uname -s` == " Darwin" ]]; then
2030
2072
LIB_TARGET=" macosx"
2031
2073
fi
0 commit comments