static A(exitcall_t) __exit = ARRAY_INIT;
-void common_register_exit(exitcall_t _exit)
+void common_register_exit(exitcall_t exitcall)
{
- array_add(__exit, _exit);
+ array_add(__exit, exitcall);
}
static void common_shutdown(void)
typedef int (*initcall_t)(void);
typedef void (*exitcall_t)(void);
-void common_register_exit(exitcall_t _exit);
+void common_register_exit(exitcall_t exitcall);
void common_init(void);
#define module_init(fn) \
ifneq ($(filter 4.%,$(shell gcc -dumpversion)),)
GCC4=1
endif
+ifneq ($(filter Darwin%,$(shell uname)),)
+ DARWIN=1
+endif
# Use pipes and not temp files.
CFLAGS += -pipe
# warn about undefined preprocessor identifiers
CFLAGS += -Wundef
# warn about local variable shadowing another local variable
-#CFLAGS += -Wshadow
+# # disabled on Darwin because of warnings in ev.h
+CFLAGS += $(if $(DARWIN),,-Wshadow)
# warn about casting of pointers to increased alignment requirements
CFLAGS += -Wcast-align
# make string constants const
# warn about pointer arithmetic on void* and function pointers
CFLAGS += -Wpointer-arith
# warn about multiple declarations
-#CFLAGS += -Wredundant-decls
+# #disabled on Darwin because of warnings in ev.h
+CFLAGS += $(if $(DARWIN),,-Wredundant-decls)
# warn if the format string is not a string literal
CFLAGS += -Wformat-nonliteral
# do not warn about zero-length formats.
include ../mk/cflags.mk
prefix ?= /usr/local
-LDFLAGS += -L/opt/local/lib
-CFLAGS += --std=gnu99 -I../ -I../common -I/opt/local/include
+LDFLAGS += $(if $(DARWIN),-L/opt/local/lib,-Wl,-warn-common)
+CFLAGS += --std=gnu99 -I../ -I../common $(if $(DARWIN),-I/opt/local/include,)
INSTALL_PROGS = $(addprefix install-,$(PROGRAMS))