mirror of
https://github.com/rui314/mold.git
synced 2024-09-21 01:47:11 +03:00
Do not try to link with -ldl unconditionally
Some operating systems, like NetBSD, don't have a separate library for dlopen(3). They have dl* functions in their libc. Signed-off-by: Masatake Daimon <pho@NetBSD.org>
This commit is contained in:
parent
fe209f3f4c
commit
af05107964
10
Makefile
10
Makefile
@ -33,7 +33,7 @@ CFLAGS += $(COMMON_FLAGS) $(EXTRA_CFLAGS)
|
||||
CXXFLAGS ?= -O2
|
||||
CXXFLAGS += $(COMMON_FLAGS) $(EXTRA_CXXFLAGS) -std=c++20 -fno-exceptions
|
||||
CXXFLAGS += -DMOLD_VERSION=\"1.0.1\" -DLIBDIR="\"$(LIBDIR)\""
|
||||
LIBS = -pthread -lz -ldl -lm
|
||||
LIBS = -pthread -lz $(DL_LIBS) -lm
|
||||
|
||||
SRCS=$(wildcard *.cc elf/*.cc macho/*.cc)
|
||||
HEADERS=$(wildcard *.h elf/*.h macho/*.h)
|
||||
@ -134,6 +134,12 @@ ifeq ($(IS_ANDROID), 1)
|
||||
CXXFLAGS += -Wno-c++11-narrowing
|
||||
endif
|
||||
|
||||
ifeq ($(OS), NetBSD)
|
||||
DL_LIBS =
|
||||
else
|
||||
DL_LIBS = -ldl
|
||||
endif
|
||||
|
||||
all: mold mold-wrapper.so
|
||||
|
||||
mold: $(OBJS) $(MIMALLOC_LIB) $(TBB_LIB) $(XXHASH_LIB)
|
||||
@ -142,7 +148,7 @@ mold: $(OBJS) $(MIMALLOC_LIB) $(TBB_LIB) $(XXHASH_LIB)
|
||||
ln -sf mold ld64.mold
|
||||
|
||||
mold-wrapper.so: elf/mold-wrapper.c Makefile
|
||||
$(CC) $(CFLAGS) -fPIC -shared -o $@ $(LDFLAGS) $< -ldl
|
||||
$(CC) $(CFLAGS) -fPIC -shared -o $@ $(LDFLAGS) $< $(DL_LIBS)
|
||||
|
||||
out/%.o: %.cc $(HEADERS) Makefile out/elf/.keep out/macho/.keep
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
Loading…
Reference in New Issue
Block a user