aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml7
-rw-r--r--.github/workflows/nightly.yml12
-rw-r--r--configure.ac7
-rw-r--r--src/main.c5
4 files changed, 16 insertions, 15 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index de9274e..d42585a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -119,12 +119,9 @@ jobs:
- name: Configure Build
env:
PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
- # --disable-shared makes sure that libtool won't create wrapper binaries.
- # They are not required and cause problems when running the test suite
- # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
- ./configure --with-interface=pdcurses-gui --enable-debug --disable-shared --enable-html-manual
+ ./configure --with-interface=pdcurses-gui --enable-debug --enable-html-manual
- run: make
- run: make install
@@ -136,7 +133,7 @@ jobs:
run: cd doc && make devdoc
- name: make distcheck
env:
- DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui --disable-shared
+ DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui
PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
run: make distcheck
- name: Build Source Tarball
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 918e2c4..0af6612 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -212,17 +212,14 @@ jobs:
CFLAGS: -O3 -flto
CXXFLAGS: -O3 -flto
LDFLAGS: -flto
- # --disable-shared makes sure that libtool won't create wrapper binaries.
- # They are not required and cause problems when running the test suite
- # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
mkdir build-wingui build-wincon
(cd build-wingui
- ../configure --with-interface=pdcurses-gui --disable-shared --enable-html-manual --program-prefix=g \
+ ../configure --with-interface=pdcurses-gui --enable-html-manual --program-prefix=g \
PDCURSES_LIBS="-lpdcurses_wingui -lgdi32 -lcomdlg32 -lwinmm")
(cd build-wincon
- ../configure --with-interface=pdcurses --disable-shared --enable-html-manual \
+ ../configure --with-interface=pdcurses --enable-html-manual \
PDCURSES_LIBS="-lpdcurses_wincon -lgdi32 -lwinmm")
- name: make
@@ -300,12 +297,9 @@ jobs:
CFLAGS: -O3 -flto
CXXFLAGS: -O3 -flto
LDFLAGS: -flto
- # --disable-shared makes sure that libtool won't create wrapper binaries.
- # They are not required and cause problems when running the test suite
- # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
- ./configure --with-interface=gtk --disable-shared --enable-html-manual
+ ./configure --with-interface=gtk --enable-html-manual
- name: make
run: make -j 2
diff --git a/configure.ac b/configure.ac
index d94e5bf..d9dd7e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,7 +47,12 @@ canonicalize() {
}
# Checks for programs.
-LT_INIT
+#
+# Disable shared libraries by default (--disable-shared).
+# We don't install any library, so this __should__ not matter.
+# In reality Libtool builds unnecessary wrapper binaries on win32 (MinGW) without this.
+# These wrapper binaries do not handle UTF-8 properly and break the test suite.
+LT_INIT([disable-shared])
# FIXME: Check for -std=gnu11?
AC_PROG_CC
AC_PROG_SED
diff --git a/src/main.c b/src/main.c
index 51bbe0a..eb3c0b4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -307,6 +307,11 @@ main(int argc, char **argv)
* Important for Unicode handling in curses and glib.
* In particular, in order to accept Unicode characters
* in option strings.
+ *
+ * NOTE: Windows 10 accepts ".UTF8" here, so the "ANSI"
+ * versions of win32 API functions accept UTF-8.
+ * We want to support older versions, though and
+ * glib happily converts to Windows' native UTF-16.
*/
setlocale(LC_ALL, "");