#
# This file is maintained by the build community.
#
# Definitions for freebsd target builds
# Sites may override these definitions in CONFIG_SITE.Common.freebsdCommon
#-------------------------------------------------------

# Include definitions common to all Unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
GNU         = NO
CMPLR_CLASS = clang
CC          = clang
CCC         = clang++

OS_CLASS = freebsd

CODE_CPPFLAGS = -D_REENTRANT

POSIX_CPPFLAGS = -D_POSIX_THREADS
POSIX_LDLIBS = -lpthread

# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
OP_SYS_CPPFLAGS += -Dfreebsd

# Set runtime path for shared libraries
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))

# Set runtime path for products
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))

#  Definitions used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline -lcurses

GNU_LDLIBS_YES = -lgcc_pic

#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsdCommon
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).freebsdCommon
