mirror of
https://github.com/neovim/neovim.git
synced 2024-12-31 17:13:26 -07:00
build: guard free_locales with HAVE_WORKING_LIBINTL #19095
With4c7462fdb3
, when `libintl` is turned off via `-DENABLE_LIBINTL=OFF`, Neovim does not compile in Debug mode with the following error message: ``` ... [201/331] Building C object src/nvim/CMakeFiles/nvim.dir/eval.c.o FAILED: src/nvim/CMakeFiles/nvim.dir/eval.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DEXITFREE -DINCLUDE_GENERATED_DECLARATIONS -DMIN_LOG_LEVEL=1 -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -Dnvim_EXPORTS -I/Users/hat/Projects/neovim/build/config -I/Users/hat/Projects/neovim/src -I/Users/hat/Projects/neovim/build/src/nvim/auto -I/Users/hat/Projects/neovim/build/include -I/Users/hat/Projects/neovim/.deps/usr/include/luajit-2.1 -isystem /Users/hat/Projects/neovim/.deps/usr/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -Wno-conversion -MD -MT src/nvim/CMakeFiles/nvim.dir/eval.c.o -MF src/nvim/CMakeFiles/nvim.dir/eval.c.o.d -o src/nvim/CMakeFiles/nvim.dir/eval.c.o -c /Users/hat/Projects/neovim/src/nvim/eval.c /Users/hat/Projects/neovim/src/nvim/eval.c:473:3: error: implicit declaration of function 'free_locales' is invalid in C99 [-Werror,-Wimplicit-function-declaration] free_locales(); ^ /Users/hat/Projects/neovim/src/nvim/eval.c:473:3: note: did you mean 'free_titles'? /Users/hat/Projects/neovim/build/include/buffer.h.generated.h:58:16: note: 'free_titles' declared here DLLEXPORT void free_titles(void); ^ 1 error generated. [212/331] Building C object src/nvim/CMakeFiles/nvim.dir/eval/funcs.c.o ninja: build stopped: subcommand failed. make: *** [nvim] Error 1 ``` The previous commit,b1b5802009
, to4c7462f
does not have this issue. As you can see in the following, the issue occurs only in Debug mode with `libintl` turned off: ```bash # No issue git checkoutb1b5802
# The following Debug build works make distclean; make SDKROOT=$(xcrun --sdk macosx --show-sdk-path) CMAKE_EXTRA_FLAGS="-DENABLE_LIBINTL=OFF" # The following Release build works make distclean; make CMAKE_BUILD_TYPE=Release SDKROOT=$(xcrun --sdk macosx --show-sdk-path) CMAKE_EXTRA_FLAGS="-DENABLE_LIBINTL=OFF" # Compile error when in Debug and libintl turned off git checkout4c7462f
# The following Debug build does not work make distclean; make SDKROOT=$(xcrun --sdk macosx --show-sdk-path) CMAKE_EXTRA_FLAGS="-DENABLE_LIBINTL=OFF" # The following Debug build works make distclean; make SDKROOT=$(xcrun --sdk macosx --show-sdk-path) # The following Release build works make distclean; make CMAKE_BUILD_TYPE=Release SDKROOT=$(xcrun --sdk macosx --show-sdk-path) CMAKE_EXTRA_FLAGS="-DENABLE_LIBINTL=OFF" ``` I noticed this because I turn `libintl` off when compiling `libnvim` for VimR. Fix #19093
This commit is contained in:
parent
7dd73625dc
commit
3d45706478
@ -469,7 +469,9 @@ void eval_clear(void)
|
||||
hash_clear(&compat_hashtab);
|
||||
|
||||
free_scriptnames();
|
||||
# ifdef HAVE_WORKING_LIBINTL
|
||||
free_locales();
|
||||
# endif
|
||||
|
||||
// global variables
|
||||
vars_clear(&globvarht);
|
||||
|
Loading…
Reference in New Issue
Block a user