ping any comments or suggestions about these issues before I update the port?
On Fri, Apr 03, 2020 at 01:32:18PM -0600, Thomas Frohwein wrote: > Hi, > > diff to tie up some loose ends brought up by tb@ > > Also amends the hl.h with an ifdef to fix a typedef collision when > including the header with clang and C++ that was encountered with > upcoming addition of hlsteam to games/steamworks-nosteam. Credit for > the fix to brynet@. > > [...] > > The use of pthread_self() in patches/patch-src_std_thread_c looks fishy. > > It generates this warning: > > > > src/std/thread.c: In function 'hl_thread_id': > > src/std/thread.c:374:9: warning: returning 'pthread_t' {aka 'struct pthread > > *'} from a function with return type 'int' makes integer from pointer > > without a cast > > [-Wint-conversion] > > return pthread_self(); > > ^~~~~~~~~~~~~~ > > > > Is this intended and really correct? > > It seems the better solution is to replace this with getthrid(2). So > far, I haven't noticed runtime issues with either pthread_self(3) or > getthrid(2). The build time warning is resolved with this. > > > The second one is ugly but probably harmless: > > > > ===> Building for hashlink-1.10p0 > > getconf: LONG_BIT: unknown variable > > > > The Makefile tries to set some arch-specific things using this: > > > > LBITS := $(shell getconf LONG_BIT) > > ARCH ?= $(LBITS) > > [...] > > ifeq ($(ARCH),32) > > CFLAGS += -I /usr/include/i386-linux-gnu > > LIBFLAGS += -L/opt/libjpeg-turbo/lib > > else > > LIBFLAGS += -L/opt/libjpeg-turbo/lib64 > > endif > > diff removes the linux bitness detection. > > ok? > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/lang/hashlink/Makefile,v > retrieving revision 1.2 > diff -u -p -r1.2 Makefile > --- Makefile 7 Mar 2020 00:30:59 -0000 1.2 > +++ Makefile 3 Apr 2020 19:24:44 -0000 > @@ -1,4 +1,4 @@ > -# $OpenBSD: Makefile,v 1.2 2020/03/07 00:30:59 cwen Exp $ > +# $OpenBSD: Makefile,v 1.1.1.1 2020/02/25 02:36:47 thfr Exp $ > > # JIT segfaults without USE_WXNEEDED > USE_WXNEEDED = Yes > @@ -9,7 +9,7 @@ V = 1.10 > GH_ACCOUNT = HaxeFoundation > GH_PROJECT = hashlink > GH_TAGNAME = ${V} > -REVISION = 0 > +REVISION = 1 > > SHARED_LIBS = hl 0.0 # 1.10 > > Index: patches/patch-Makefile > =================================================================== > RCS file: /cvs/ports/lang/hashlink/patches/patch-Makefile,v > retrieving revision 1.1.1.1 > diff -u -p -r1.1.1.1 patch-Makefile > --- patches/patch-Makefile 25 Feb 2020 02:36:47 -0000 1.1.1.1 > +++ patches/patch-Makefile 3 Apr 2020 19:24:44 -0000 > @@ -3,11 +3,17 @@ $OpenBSD: patch-Makefile,v 1.1.1.1 2020/ > remove -m$(ARCH) > add versioning to libhl > {CFLAGS} -> (CFLAGS) to not get picked up by SUBST_CMD > +remove Linux's 32-/64-bit detection > > Index: Makefile > --- Makefile.orig > +++ Makefile > -@@ -6,11 +6,11 @@ INSTALL_DIR ?= $(PREFIX) > +@@ -1,16 +1,14 @@ > + > +-LBITS := $(shell getconf LONG_BIT) > +-ARCH ?= $(LBITS) > + PREFIX ?= /usr/local > + INSTALL_DIR ?= $(PREFIX) > > LIBS=fmt sdl ssl openal ui uv mysql > > @@ -24,7 +30,7 @@ Index: Makefile > LIBTURBOJPEG = -lturbojpeg > > PCRE = include/pcre/pcre_chartables.o include/pcre/pcre_compile.o > include/pcre/pcre_dfa_exec.o \ > -@@ -80,7 +80,7 @@ RELEASE_NAME = osx > +@@ -80,16 +78,9 @@ RELEASE_NAME = osx > else > > # Linux > @@ -32,8 +38,17 @@ Index: Makefile > +CFLAGS += -fPIC -pthread > LFLAGS += -lm -Wl,-rpath,. -Wl,--export-dynamic -Wl,--no-undefined > > - ifeq ($(ARCH),32) > -@@ -123,34 +123,34 @@ uninstall: > +-ifeq ($(ARCH),32) > +-CFLAGS += -I /usr/include/i386-linux-gnu > +-LIBFLAGS += -L/opt/libjpeg-turbo/lib > +-else > +-LIBFLAGS += -L/opt/libjpeg-turbo/lib64 > +-endif > +- > + LIBOPENAL = -lopenal > + RELEASE_NAME = linux > + > +@@ -123,34 +114,34 @@ uninstall: > libs: $(LIBS) > > libhl: ${LIB} > @@ -78,7 +93,7 @@ Index: Makefile > > mesa: > (cd libs/mesa && make) > -@@ -204,7 +204,7 @@ release_osx: > +@@ -204,7 +195,7 @@ release_osx: > .SUFFIXES : .c .o > > .c.o : > Index: patches/patch-src_hl_h > =================================================================== > RCS file: /cvs/ports/lang/hashlink/patches/patch-src_hl_h,v > retrieving revision 1.2 > diff -u -p -r1.2 patch-src_hl_h > --- patches/patch-src_hl_h 7 Mar 2020 00:30:59 -0000 1.2 > +++ patches/patch-src_hl_h 3 Apr 2020 19:24:44 -0000 > @@ -1,11 +1,12 @@ > $OpenBSD: patch-src_hl_h,v 1.2 2020/03/07 00:30:59 cwen Exp $ > > add OpenBSD to ifdef > +don't typedef char{16,32}_t in clang with C++ > > Index: src/hl.h > --- src/hl.h.orig > +++ src/hl.h > -@@ -234,7 +234,7 @@ typedef uint16_t uchar; > +@@ -234,11 +234,13 @@ typedef uint16_t uchar; > # define USTR(str) u##str > #else > # include <stdarg.h> > @@ -13,4 +14,10 @@ Index: src/hl.h > +#if defined(HL_IOS) || defined(HL_TVOS) || defined(HL_MAC) || > defined(__OpenBSD__) > #include <stddef.h> > #include <stdint.h> > ++#if defined(__clang__) && !defined(__cplusplus) > typedef uint16_t char16_t; > + typedef uint32_t char32_t; > ++#endif > + #else > + # include <uchar.h> > + #endif > Index: patches/patch-src_std_thread_c > =================================================================== > RCS file: /cvs/ports/lang/hashlink/patches/patch-src_std_thread_c,v > retrieving revision 1.2 > diff -u -p -r1.2 patch-src_std_thread_c > --- patches/patch-src_std_thread_c 7 Mar 2020 00:30:59 -0000 1.2 > +++ patches/patch-src_std_thread_c 3 Apr 2020 19:24:44 -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-src_std_thread_c,v 1.2 2020/03/07 00:30:59 cwen Exp $ > > -enable thread_id for OpenBSD using pthread_self() > +enable hl_thread_id for OpenBSD using getthrid(2) > > Index: src/std/thread.c > --- src/std/thread.c.orig > @@ -10,7 +10,7 @@ Index: src/std/thread.c > pthread_threadid_np(NULL, &tid64); > return (pid_t)tid64; > +#elif defined(__OpenBSD__) > -+ return pthread_self(); > ++ return getthrid(); > #elif defined(SYS_gettid) && !defined(HL_TVOS) > return syscall(SYS_gettid); > #else >