]>
git.proxmox.com Git - rustc.git/blob - src/test/run-make/tools.mk
1 # These deliberately use `=` and not `:=` so that client makefiles can
2 # augment HOST_RPATH_DIR / TARGET_RPATH_DIR.
4 $(LD_LIB_PATH_ENVVAR
)="$(TMPDIR):$(HOST_RPATH_DIR):$($(LD_LIB_PATH_ENVVAR))"
6 $(LD_LIB_PATH_ENVVAR
)="$(TMPDIR):$(TARGET_RPATH_DIR):$($(LD_LIB_PATH_ENVVAR))"
8 BARE_RUSTC
:= $(HOST_RPATH_ENV
) $(RUSTC
)
9 RUSTC
:= $(BARE_RUSTC
) --out-dir
$(TMPDIR
) -L
$(TMPDIR
)
10 CC
:= $(CC
) -L
$(TMPDIR
)
11 HTMLDOCCK
:= $(PYTHON
) $(S
)/src
/etc
/htmldocck.py
13 # This is the name of the binary we will generate and run; use this
14 # e.g. for `$(CC) -o $(RUN_BINFILE)`.
15 RUN_BINFILE
= $(TMPDIR
)/$(1)
17 # RUN and FAIL are basic way we will invoke the generated binary. On
18 # non-windows platforms, they set the LD_LIBRARY_PATH environment
19 # variable before running the binary.
21 RLIB_GLOB
= lib
$(1)*.rlib
22 STATICLIB
= $(TMPDIR
)/lib
$(1).a
23 STATICLIB_GLOB
= lib
$(1)*.a
26 UNAME
= $(shell uname
)
27 ifneq (,$(findstring MINGW
,$(UNAME
)))
31 ifeq ($(UNAME
),Darwin
)
32 RUN
= $(TARGET_RPATH_ENV
) $(RUN_BINFILE
)
33 FAIL
= $(TARGET_RPATH_ENV
) $(RUN_BINFILE
) && exit
1 || exit
0
34 DYLIB_GLOB
= lib
$(1)*.dylib
35 DYLIB
= $(TMPDIR
)/lib
$(1).dylib
39 RUN
= PATH
="$(PATH):$(TARGET_RPATH_DIR)" $(RUN_BINFILE
)
40 FAIL
= PATH
="$(PATH):$(TARGET_RPATH_DIR)" $(RUN_BINFILE
) && exit
1 || exit
0
41 DYLIB_GLOB
= $(1)*.dll
42 DYLIB
= $(TMPDIR
)/$(1).dll
46 RUN
= $(TARGET_RPATH_ENV
) $(RUN_BINFILE
)
47 FAIL
= $(TARGET_RPATH_ENV
) $(RUN_BINFILE
) && exit
1 || exit
0
48 DYLIB_GLOB
= lib
$(1)*.so
49 DYLIB
= $(TMPDIR
)/lib
$(1).so
50 RPATH_LINK_SEARCH
= -Wl
,-rpath-link
=$(1)
54 # Extra flags needed to compile a working executable with the standard library
56 EXTRACFLAGS
:= -lws2_32
-luserenv
58 ifeq ($(UNAME
),Darwin
)
60 ifeq ($(UNAME
),FreeBSD
)
61 EXTRACFLAGS
:= -lm
-lpthread
-lgcc_s
63 ifeq ($(UNAME
),Bitrig
)
64 EXTRACFLAGS
:= -lm
-lpthread
65 EXTRACXXFLAGS
:= -lc
++ -lc
++abi
67 ifeq ($(UNAME
),OpenBSD
)
68 EXTRACFLAGS
:= -lm
-lpthread
70 EXTRACFLAGS
:= -lm
-lrt
-ldl
-lpthread
71 EXTRACXXFLAGS
:= -lstdc
++
78 REMOVE_DYLIBS
= rm $(TMPDIR
)/$(call DYLIB_GLOB
,$(1))
79 REMOVE_RLIBS
= rm $(TMPDIR
)/$(call RLIB_GLOB
,$(1))
84 $(CC
) -dynamiclib
-Wl
,-dylib
-o
$@
$<
86 $(CC
) -o
$@
$< -shared
88 $(CC
) -o
$@
$< -shared