macOS follow-up

This commit is contained in:
nhmall
2026-04-25 16:41:16 -04:00
parent 98308a8a7d
commit 532152ffc0
4 changed files with 31 additions and 7 deletions
+3 -1
View File
@@ -632,7 +632,8 @@ HOBJ = $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
$(TARGETPFX)wield.o $(TARGETPFX)windows.o $(TARGETPFX)wizard.o \
$(TARGETPFX)wizcmds.o $(TARGETPFX)worm.o $(TARGETPFX)worn.o \
$(TARGETPFX)write.o $(TARGETPFX)zap.o \
$(REGEXOBJ) $(RANDOBJ) $(SYSOBJ) $(WINOBJ) $(HINTOBJ) $(SNDLIBOBJ) \
$(REGEXOBJ) $(RANDOBJ) $(SYSOBJ) $(WINOBJ) \
$(HINTOBJ) $(SNDLIBOBJ) $(UUIDOBJ) \
$(TARGETPFX)version.o
DATE_O = $(TARGETPFX)date.o
@@ -879,6 +880,7 @@ depend2: $(WINQTMOC)
@rm -f Makefile.bak
@rm -f ../include/nhlua.h tile.c
# DO NOT DELETE THIS LINE OR CHANGE ANYTHING BEYOND IT
# config.h timestamp
+12
View File
@@ -215,6 +215,13 @@ LFLAGS += -framework AVFoundation
#endif
endif
ifdef MAKEFILE_SRC
ifdef WANT_NHUUID
CFLAGS += -DNHUUID
UUIDOBJ = macuuid.o
endif
endif
#
#-INCLUDE multisnd1-pre.370
#
@@ -547,6 +554,11 @@ checkmakefiles:
endif
endif
ifdef WANT_NHUUID
$(TARGETPFX)macuuid.o: ../sys/unix/macuuid.m
$(CC) $(CFLAGS) -c -o$@ $<
endif
ifdef WANT_LIBNH
$(TARGETPFX)libnh.a: $(HOBJ) $(LIBNHSYSOBJ) ../lib/lua/liblua-$(LUA_VERSION).a
$(AR) rcs $@ $(HOBJ) $(LIBNHSYSOBJ) ../lib/lua/liblua-$(LUA_VERSION).a
+3
View File
@@ -4,6 +4,9 @@
#include "hack.h"
void free_macos_uuid(void);
const char *get_macos_uuid(void);
#ifdef DEBUG
#undef DEBUG
#endif
+13 -6
View File
@@ -840,28 +840,35 @@ sys_random_seed(void)
}
return seed;
}
#if defined(MACOS) && defined(NHUUID)
extern char *get_macos_uuid(char **); /* sys/unix/macuuid.m */
extern void free_macos_uuid(void); /* sys/unix/macuuid.m */
#endif
void
get_nhuuid(void)
{
#if !defined(MACOS)
char struuid[37] = { 0 };
#endif
char *struuidptr = NULL;
#if defined(LINUX) && defined(NHUUID)
uuid_t binuuid;
#elif defined(MACOS) && defined(NHUUID)
char *struuid = NULL;
extern char *get_mac_uuid(char **); /* sys/unix/macuuid.m */
extern void free_macos_uuid(void); /* sys/unix/macuuid.m */
#endif
if (svn.nhuuid[0])
return;
#if defined(MACOS) && defined(NHUUID)
get_mac_uuid(&struuid);
get_macos_uuid(&struuidptr);
#elif defined(LINUX) && defined(NHUUID)
uuid_generate_random(binuuid);
uuid_unparse(binuuid, struuid);
struuidptr = &struuid[0];
#endif /* MACOS || LINUX */
Snprintf(svn.nhuuid, sizeof svn.nhuuid, "%s", struuid);
Snprintf(svn.nhuuid, sizeof svn.nhuuid, "%s", struuidptr);
#if defined(MACOS) && defined(NHUUID)
free_macos_uuid();