[readline-win32] Fix windows static linking (#33892)

* [readline-win32] Fix windows static linking

* Update version database
This commit is contained in:
Weihang Ding 2023-09-21 01:29:21 +08:00 committed by GitHub
parent febeb3f7e4
commit 9561b275c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 20 additions and 155 deletions

View File

@ -1,73 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(readline C)
add_definitions(-DREADLINE_LIBRARY)
add_definitions(-DHAVE_CONFIG_H)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
if(BUILD_SHARED_LIBS)
add_definitions(-DBUILD_READLINE_DLL)
else()
add_definitions(-DREADLINE_STATIC)
endif()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR} # thats where the config.h is located
)
add_library(readline
readline.c
funmap.c
keymaps.c
vi_mode.c
parens.c
rltty.c
complete.c
bind.c
isearch.c
display.c
signals.c
util.c
kill.c
undo.c
macro.c
input.c
callback.c
terminal.c
xmalloc.c
history.c
histsearch.c
histexpand.c
histfile.c
nls.c
search.c
shell.c
savestring.c
tilde.c
text.c
misc.c
compat.c
mbutil.c
support/wcwidth.c)
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
install(FILES ${headers} DESTINATION include/readline)
target_include_directories(readline PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
install(TARGETS readline
EXPORT unofficial-readline-win32-config
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT unofficial-readline-win32-config
NAMESPACE unofficial::readline-win32::
DESTINATION share/unofficial-readline-win32)
Set(prefix "${CMAKE_INSTALL_PREFIX}")
Set(exec_prefix "\${prefix}")
Set(libdir "\${prefix}/lib")
Set(includedir "\${prefix}/include")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/readline.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/readline.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/readline.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")

View File

@ -1,58 +0,0 @@
#define RETSIGTYPE void
#define VOID_SIGHANDLER 1
#define PROTOTYPES 1
#define HAVE_ISASCII 1
#define HAVE_ISXDIGIT 1
#define HAVE_MBRLEN 1
#define HAVE_MBRTOWC 1
#define HAVE_MBRTOWC 1
#define HAVE_MBSRTOWCS 1
#define HAVE_MEMMOVE 1
#define HAVE_PUTENV 1
#define HAVE_SETENV 1
#define HAVE_SETLOCALE 1
#define HAVE_STRCOLL 1
#define STRCOLL_BROKEN 1
#define HAVE_STRPBRK 1
#define HAVE_TCGETATTR 1
#define HAVE_VSNPRINTF 1
#define HAVE_WCTOMB 1
#define HAVE_WCWIDTH 1
#define STDC_HEADERS 1
#define HAVE_LANGINFO_H 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STDARG_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_TERMIOS_H 1
#define HAVE_WCHAR_H 1
#define HAVE_WCTYPE_H 1
#define HAVE_MBSTATE_T 1
#define HAVE_LANGINFO_CODESET 1
#define VOID_SIGHANDLER 1
#define STRUCT_WINSIZE_IN_SYS_IOCTL 1
#define HAVE_GETPW_DECLS 1
#define MUST_REINSTALL_SIGHANDLERS 1
#define CTYPE_NON_ASCII 1
/* Ultrix botches type-ahead when switching from canonical to
non-canonical mode, at least through version 4.3 */
#if !defined (HAVE_TERMIOS_H) || !defined (HAVE_TCGETATTR) || defined (ultrix)
# define TERMIOS_MISSING
#endif
#if defined (STRCOLL_BROKEN)
# define HAVE_STRCOLL 1
#endif
#if defined (__STDC__) && defined (HAVE_STDARG_H)
# define PREFER_STDARG
# define USE_VARARGS
#else
# if defined (HAVE_VARARGS_H)
# define PREFER_VARARGS
# define USE_VARARGS
# endif
#endif

View File

@ -1,16 +1,13 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lltcggie/readline
REF ea414b4e98475e3976198738061824e8a8379a50
SHA512 82d54ab3e19fb2673fe97eff07117d36704791669baa283ec737c704635f872e4c7cd30485a6648d445cb2912e4364286e664e9425444f456a4c862b9e4de843
REPO xiaozhuai/readline-win32
REF 8f141e9a77f81fae5b67f915621988aef116e9ae
SHA512 2eb88a2fa3780df1bb8fa5dfc0be197113d3789cd7b494c0c30509099a6c4818cf14d8301d312747107b2b4f8e52e5a2ed93d3fe5fbbd6b796f780e2f1e0f729
HEAD_REF master
)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h" DESTINATION "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/readline.pc.in" DESTINATION "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src"
SOURCE_PATH "${SOURCE_PATH}"
)
vcpkg_cmake_install()
@ -18,8 +15,14 @@ vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-readline-win32)
vcpkg_fixup_pkgconfig()
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/readline/rlstdc.h"
"defined(USE_READLINE_STATIC)" "1"
)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_copy_pdbs()
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src/COPYING")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")

View File

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Readline
Description: Gnu Readline library for command line editing
URL: http://tiswww.cwru.edu/php/chet/readline/rltop.html
Version: @LIBVERSION@
Requires.private: @TERMCAP_PKG_CONFIG_LIB@
Libs: -L${libdir} -lreadline
Cflags: -I${includedir}

View File

@ -1,10 +1,10 @@
{
"name": "readline-win32",
"version": "5.0",
"port-version": 6,
"port-version": 7,
"description": "Implementation of readline for Windows Desktop",
"homepage": "https://github.com/lltcggie/readline",
"license": null,
"homepage": "https://github.com/xiaozhuai/readline-win32",
"license": "GPL-2.0",
"supports": "windows & !uwp",
"dependencies": [
{

View File

@ -7226,7 +7226,7 @@
},
"readline-win32": {
"baseline": "5.0",
"port-version": 6
"port-version": 7
},
"readosm": {
"baseline": "1.1.0a",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "932081e9a1f922cd1f3e710fd9fd426f882360aa",
"version": "5.0",
"port-version": 7
},
{
"git-tree": "c54e93659340794a88b8122fde8123941f0be228",
"version": "5.0",