Skip to content

Commit 9151a95

Browse files
authored
Improve the build logic for compiling from source (#63)
Fixes #62
1 parent 9f204e7 commit 9151a95

File tree

1 file changed

+24
-25
lines changed

1 file changed

+24
-25
lines changed

deps/scratch.jl

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,11 @@ if libm == "libopenlibm"
2525
openlibm_so = Libdl.dlpath(libm)
2626

2727
# Copy over the OpenLibm .so
28-
cp(openlibm_so, joinpath(libdir(openspecfun), basename(openlibm_so)),
29-
remove_destination=true, follow_symlinks=true)
28+
for lib in readdir(dirname(openlibm_so))
29+
startswith(lib, "libopenlibm") || continue
30+
cp(joinpath(dirname(openlibm_so), lib), joinpath(libdir(openspecfun), lib),
31+
remove_destination=true, follow_symlinks=false)
32+
end
3033

3134
if !isdir(srcdir(openspecfun))
3235
mkpath(srcdir(openspecfun))
@@ -83,39 +86,35 @@ elseif Sys.ARCH === :x86_64
8386
fc *= " -m64"
8487
end
8588

86-
flags = [
87-
# OpenSpecFun build flags
88-
"ARCH=\"$(Sys.ARCH)\"",
89-
"CC=\"$cc\"",
90-
"FC=\"$fc\"",
91-
"USECLANG=$(Int(use_clang))",
92-
"USEGCC=$(Int(!use_clang))",
93-
"USE_OPENLIBM=$(Int(use_openlibm))",
94-
"CFLAGS=\"-O3 -std=c99\"",
95-
"FFLAGS=\"-O2 -fPIC\"",
96-
"LDFLAGS=\"-L$(libdir(openspecfun)) -Wl,-rpath,'\$\$ORIGIN' -Wl,-z,origin\"",
97-
# Make flags
98-
"DESTDIR=\"\"",
99-
"prefix=$(depsdir(openspecfun))",
100-
"libdir=$(libdir(openspecfun))",
101-
"shlibdir=$(libdir(openspecfun))",
102-
"includedir=$(includedir(openspecfun))",
103-
"O="
104-
]
105-
10689
provides(Sources, URI("https://github.com/JuliaLang/openspecfun/archive/v$OSF_VERS.tar.gz"),
107-
openspecfun)
90+
openspecfun, unpacked_dir="openspecfun-$OSF_VERS")
10891

10992
provides(BuildProcess,
11093
(@build_steps begin
11194
GetSources(openspecfun)
11295
CreateDirectory(builddir(openspecfun))
11396
@build_steps begin
114-
ChangeDirectory(builddir(openspecfun))
97+
ChangeDirectory(joinpath(srcdir(openspecfun), "openspecfun-$OSF_VERS"))
11598
FileRule(joinpath(libdir(openspecfun), "libopenspecfun." * Libdl.dlext),
11699
@build_steps begin
117100
CreateDirectory(libdir(openspecfun))
118-
`$MAKE_CMD install $flags`
101+
```
102+
$MAKE_CMD install
103+
ARCH="$(Sys.ARCH)"
104+
CC="$cc"
105+
FC="$fc"
106+
USECLANG=$(Int(use_clang))
107+
USEGCC=$(Int(!use_clang))
108+
USE_OPENLIBM=$(Int(use_openlibm))
109+
CFLAGS="-O3 -std=c99"
110+
FFLAGS="-O2 -fPIC"
111+
LDFLAGS="-L$(libdir(openspecfun)) -Wl,-rpath,'\$\$ORIGIN' -Wl,-z,origin"
112+
DESTDIR=""
113+
prefix=""
114+
libdir="$(libdir(openspecfun))"
115+
includedir="$(includedir(openspecfun))"
116+
O=
117+
```
119118
end)
120119
end
121120
end), openspecfun)

0 commit comments

Comments
 (0)