# If we don't have POSIX signals, we need to use the libBSD signal routines.
# (HPUX 9 and early HPUX 10 releases don't have POSIX signals.)  Link in
# libBSD only in that case.
ifeq ($(HAVE_POSIX_SIGNALS), no)
   LIBS := -lBSD $(LIBS)
endif

# Using X/Open Networking Interfaces requires to link with libxnet.
# Without specifying this, bind(), getpeername() and so on don't work
# correctly in the LP64 data model.
LIBS := -lxnet $(LIBS)

# Set up rpath so that the executables don't need SHLIB_PATH to be set.
# (Note: --disable-rpath is a really bad idea on this platform...)
ifeq ($(with_gnu_ld), yes)
   rpath = -Wl,-rpath -Wl,'$(rpathdir)'
else
   rpath = -Wl,+b -Wl,'$(rpathdir)'
endif

# catch null pointer dereferences
ifeq ($(with_gnu_ld), yes)
# XXX what to put here?
else
   LDFLAGS_EX += -Wl,-z
endif

# set up appropriate options for shared library builds
export_dynamic = -Wl,-E

INSTALL_SHLIB_OPTS = -m 555

AROPT = crs

ifeq ($(host_cpu), ia64)
   DLSUFFIX = .so
else
   DLSUFFIX = .sl
endif
ifeq ($(GCC), yes)
   CFLAGS_SL = -fPIC
else
   CFLAGS_SL = +Z
endif

# Rule for building a shared library from a single .o file
%$(DLSUFFIX): %.o
ifeq ($(GCC), yes)
  ifeq ($(with_gnu_ld), yes)
	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name`
  else
	$(LD) -b -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name`
  endif
else
  ifeq ($(with_gnu_ld), yes)
	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $<
  else
	$(LD) -b -o $@ $<
  endif
endif

sqlmansect = 5
