Skip to content

Commit 739bc50

Browse files
committedAug 20, 2021
cmake: Add a module to find if obstack is in a separate library
The main musl libc, used in Alpine Linux, doesn't have argp support, so check if it is somewhere else, maybe in the musl-obstack package. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
1 parent 5244b47 commit 739bc50

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
 

‎MANIFEST

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dwarves_reorganize.c
1616
dwarves_reorganize.h
1717
cmake/modules/FindDWARF.cmake
1818
cmake/modules/Findargp.cmake
19+
cmake/modules/Findobstack.cmake
1920
CMakeLists.txt
2021
codiff.c
2122
ctracer.c

‎cmake/modules/Findobstack.cmake

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# - Find obstack
2+
# Figure out if obstack is in glibc or if it musl-obstack or elsewhere
3+
#
4+
# OBSTACK_LIBRARY - Library to use obstack
5+
# OBSTACK_FOUND - True if found.
6+
7+
message(STATUS "Checking availability of obstack library")
8+
9+
INCLUDE(CheckLibraryExists)
10+
11+
if (OBSTACK_LIBRARY)
12+
# Already in cache, be silent
13+
set(OBSTACK_FIND_QUIETLY TRUE)
14+
endif (OBSTACK_LIBRARY)
15+
16+
find_library(OBSTACK_LIBRARY
17+
NAMES obstack
18+
PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64
19+
)
20+
21+
if (OBSTACK_LIBRARY)
22+
set(OBSTACK_FOUND TRUE)
23+
set(OBSTACK_LIBRARY ${OBSTACK_LIBRARY})
24+
set(CMAKE_REQUIRED_LIBRARIES ${OBSTACK_LIBRARY})
25+
else (OBSTACK_LIBRARY)
26+
set(OBSTACK_LIBRARY "")
27+
endif (OBSTACK_LIBRARY)
28+
29+
if (OBSTACK_FOUND)
30+
if (NOT OBSTACK_FIND_QUIETLY)
31+
message(STATUS "Found obstack library: ${OBSTACK_LIBRARY}")
32+
endif (NOT OBSTACK_FIND_QUIETLY)
33+
else (OBSTACK_FOUND)
34+
set(OBSTACK_FOUND TRUE)
35+
message(STATUS "Assuming obstack is in libc")
36+
endif (OBSTACK_FOUND)
37+
38+
mark_as_advanced(OBSTACK_LIBRARY)
39+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
40+
41+
message(STATUS "Checking availability of obstack library - done")

0 commit comments

Comments
 (0)
Please sign in to comment.