replace readline cmake with equivalent pkg-config call
This commit is contained in:
		
							parent
							
								
									c9da23c2ee
								
							
						
					
					
						commit
						708f3c2d67
					
				
							
								
								
									
										8
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										8
									
								
								Makefile
								
								
								
								
							|  | @ -26,19 +26,20 @@ CONTRIB_DOCS = $(wildcard contrib/*/docs/*.rst) | |||
| 
 | ||||
| CFLAGS += -I./extlib/benz/include | ||||
| # CFLAGS += -std=c89 -ansi -pedantic
 | ||||
| LDFLAGS += -lm | ||||
| 
 | ||||
| prefix = /usr/local | ||||
| 
 | ||||
| all: CFLAGS += -O2 -Wall -Wextra | ||||
| all: bin/picrin | ||||
| 
 | ||||
| include contrib/*/nitro.mk # nitros define test-foo targets
 | ||||
| include contrib/*/nitro.mk | ||||
| 
 | ||||
| debug: CFLAGS += -O0 -g -DDEBUG=1 | ||||
| debug: bin/picrin | ||||
| 
 | ||||
| bin/picrin: $(PICRIN_OBJS) $(CONTRIB_OBJS) lib/libbenz.a | ||||
| 	$(CC) $(CFLAGS) -o $@ $(PICRIN_OBJS) $(CONTRIB_OBJS) lib/libbenz.a -lm | ||||
| 	$(CC) $(CFLAGS) -o $@ $(PICRIN_OBJS) $(CONTRIB_OBJS) lib/libbenz.a $(LDFLAGS) | ||||
| 
 | ||||
| src/load_piclib.c: $(PICRIN_LIBS) $(CONTRIB_LIBS) | ||||
| 	perl etc/mkloader.pl $(PICRIN_LIBS) $(CONTRIB_LIBS) > $@ | ||||
|  | @ -49,8 +50,7 @@ src/init_contrib.c: | |||
| lib/libbenz.a: $(BENZ_OBJS) | ||||
| 	$(AR) $(ARFLAGS) $@ $(BENZ_OBJS) | ||||
| 
 | ||||
| %.o: %.c extlib/benz/include/picrin.h extlib/benz/include/picrin/*.h | ||||
| 	$(CC) $(CFLAGS) -c -o $@ $< | ||||
| %.o: extlib/benz/include/picrin.h extlib/benz/include/picrin/*.h | ||||
| 
 | ||||
| doc: docs/*.rst docs/contrib.rst | ||||
| 	$(MAKE) -C docs html | ||||
|  |  | |||
|  | @ -1,17 +0,0 @@ | |||
| # readline | ||||
| 
 | ||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/contrib/10.readline/cmake/") | ||||
| 
 | ||||
| find_package(Libedit) | ||||
| if (Libedit_FOUND) | ||||
|   add_definitions(${Libedit_DEFINITIONS} -DPIC_READLINE_FOUND=1 -DPIC_READLINE_INCLUDE_DIR_SUFFIX=${Libedit_INCLUDE_DIR_SUFFIX}) | ||||
|   include_directories(${Libedit_INCLUDE_DIR}) | ||||
| 
 | ||||
|   file(GLOB PICRIN_READLINE_SOURCES ${PROJECT_SOURCE_DIR}/contrib/10.readline/src/*.c) | ||||
| 
 | ||||
|   list(APPEND PICRIN_CONTRIB_INITS readline) | ||||
|   list(APPEND PICRIN_CONTRIB_LIBRARIES ${Libedit_LIBRARIES}) | ||||
|   list(APPEND PICRIN_CONTRIB_SOURCES ${PICRIN_READLINE_SOURCES}) | ||||
|   add_custom_target(test-readline for test in ${PROJECT_SOURCE_DIR}/contrib/10.readline/t/*.scm \; do bin/picrin "$$test" \; done DEPENDS repl) | ||||
|   set(CONTRIB_TESTS ${CONTRIB_TESTS} test-readline) | ||||
| endif(Libedit_FOUND) | ||||
|  | @ -1,107 +0,0 @@ | |||
| # - Try to find libedit | ||||
| # Once done this will define | ||||
| # | ||||
| #  Libedit_FOUND - system has libedit | ||||
| #  Libedit_INCLUDE_DIRS - the libedit include directory | ||||
| #  Libedit_LIBRARIES - Link these to use libedit | ||||
| #  Libedit_DEFINITIONS - Compiler switches required for using libedit | ||||
| # | ||||
| #  Copyright (c) 2014 Yuichi Nishiwaki <yuichi@idylls.jp> | ||||
| #  Copyright (c) 2008 Andreas Schneider <mail@cynapses.org> | ||||
| #  Modified for other libraries by Lasse Kärkkäinen <tronic> | ||||
| # | ||||
| #  Redistribution and use is allowed according to the terms of the New | ||||
| #  BSD license. | ||||
| # | ||||
| 
 | ||||
| 
 | ||||
| if (Libedit_LIBRARIES AND Libedit_INCLUDE_DIRS) | ||||
|   # in cache already | ||||
|   set(Libedit_FOUND TRUE) | ||||
| else (Libedit_LIBRARIES AND Libedit_INCLUDE_DIRS) | ||||
|   # use pkg-config to get the directories and then use these values | ||||
|   # in the FIND_PATH() and FIND_LIBRARY() calls | ||||
|   if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) | ||||
|     include(UsePkgConfig) | ||||
|     pkgconfig(libedit _Libedit_INCLUDEDIR _Libedit_LIBDIR _Libedit_LDFLAGS _Libedit_CFLAGS) | ||||
|   else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) | ||||
|     find_package(PkgConfig) | ||||
|     if (PKG_CONFIG_FOUND) | ||||
|       pkg_check_modules(_LIBEDIT libedit) | ||||
|     endif (PKG_CONFIG_FOUND) | ||||
|   endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) | ||||
|   find_path(Libedit_EDITLINE_INCLUDE_DIR | ||||
|     NAMES | ||||
|       editline/readline.h | ||||
|       editline/history.h | ||||
|     PATHS | ||||
|       ${_Libedit_INCLUDEDIR} | ||||
|       /usr/include | ||||
|       /usr/local/include | ||||
|       /opt/local/include | ||||
|       /sw/include | ||||
|   ) | ||||
|   if (Libedit_EDITLINE_INCLUDE_DIR) | ||||
|     set(Libedit_INCLUDE_DIR_SUFFIX editline) | ||||
|     set(Libedit_INCLUDE_DIR ${Libedit_EDITLINE_INCLUDE_DIR}) | ||||
|   else (Libedit_EDITLINE_INCLUDE_DIR) | ||||
|     find_path(Libedit_READLINE_INCLUDE_DIR | ||||
|       NAMES | ||||
|         readline/readline.h | ||||
|         readline/history.h | ||||
|       PATHS | ||||
|         /usr/include/edit | ||||
|         /usr/local/include/edit | ||||
|         /opt/local/include/edit | ||||
|         /sw/include/edit | ||||
|         ) | ||||
|     if (Libedit_READLINE_INCLUDE_DIR) | ||||
|       set(Libedit_INCLUDE_DIR_SUFFIX readline) | ||||
|       set(Libedit_INCLUDE_DIR ${Libedit_READLINE_INCLUDE_DIR}) | ||||
|     endif (Libedit_READLINE_INCLUDE_DIR) | ||||
|   endif (Libedit_EDITLINE_INCLUDE_DIR) | ||||
| 
 | ||||
|   find_library(Libedit_LIBRARY | ||||
|     NAMES | ||||
|       edit | ||||
|     PATHS | ||||
|       ${_Libedit_LIBDIR} | ||||
|       /usr/lib | ||||
|       /usr/local/lib | ||||
|       /opt/local/lib | ||||
|       /sw/lib | ||||
|   ) | ||||
| 
 | ||||
|   if (Libedit_LIBRARY) | ||||
|     set(Libedit_FOUND TRUE) | ||||
|   endif (Libedit_LIBRARY) | ||||
| 
 | ||||
|   set(Libedit_INCLUDE_DIRS | ||||
|     ${Libedit_INCLUDE_DIR} | ||||
|   ) | ||||
| 
 | ||||
|   if (Libedit_FOUND) | ||||
|     set(Libedit_LIBRARIES | ||||
|       ${Libedit_LIBRARIES} | ||||
|       ${Libedit_LIBRARY} | ||||
|     ) | ||||
|   endif (Libedit_FOUND) | ||||
| 
 | ||||
|   if (Libedit_INCLUDE_DIRS AND Libedit_LIBRARIES) | ||||
|      set(Libedit_FOUND TRUE) | ||||
|   endif (Libedit_INCLUDE_DIRS AND Libedit_LIBRARIES) | ||||
| 
 | ||||
|   if (Libedit_FOUND) | ||||
|     if (NOT Libedit_FIND_QUIETLY) | ||||
|       message(STATUS "Found libedit: ${Libedit_LIBRARY}, ${Libedit_INCLUDE_DIR}") | ||||
|     endif (NOT Libedit_FIND_QUIETLY) | ||||
|   else (Libedit_FOUND) | ||||
|     if (Libedit_FIND_REQUIRED) | ||||
|       message(FATAL_ERROR "Could not find libedit") | ||||
|     endif (Libedit_FIND_REQUIRED) | ||||
|   endif (Libedit_FOUND) | ||||
| 
 | ||||
|   # show the Libedit_INCLUDE_DIRS and Libedit_LIBRARIES variables only in the advanced view | ||||
|   mark_as_advanced(Libedit_INCLUDE_DIRS Libedit_LIBRARIES) | ||||
| 
 | ||||
| endif (Libedit_LIBRARIES AND Libedit_INCLUDE_DIRS) | ||||
|  | @ -0,0 +1,7 @@ | |||
| CONTRIB_SRCS += contrib/10.readline/src/readline.c | ||||
| CONTRIB_INITS += readline | ||||
| 
 | ||||
| LDFLAGS += `pkg-config libedit --libs` | ||||
| 
 | ||||
| contrib/src/readline.o: contrib/src/readline.c | ||||
| 	$(CC) $(CFLAGS) -o $@ $< `pkg-config libedit --cflags` | ||||
|  | @ -7,13 +7,7 @@ forget to use the C++ extern "C" to get it to compile. | |||
| */ | ||||
| #include "picrin.h" | ||||
| 
 | ||||
| #if PIC_READLINE_INCLUDE_DIR_SUFFIX == readline | ||||
| #include <readline/readline.h> | ||||
| #include <readline/history.h> | ||||
| #else | ||||
| #include <editline/readline.h> | ||||
| #include <editline/history.h> | ||||
| #endif | ||||
| 
 | ||||
| static pic_value | ||||
| pic_rl_readline(pic_state *pic) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki