cfa4d9ec81cdbe21821914dd358efe27f745d80e hiram Tue Jun 3 14:56:59 2014 -0700 correct finding libraries on Mavericks with homebrew mysql install refs #12209 diff --git src/inc/common.mk src/inc/common.mk index 29e2e70..3e9ea2c 100644 --- src/inc/common.mk +++ src/inc/common.mk @@ -72,59 +72,65 @@ ifneq ($(wildcard /usr/lib64/libpng.a),) PNGLIB=/usr/lib64/libpng.a endif endif ifeq (${PNGLIB},) ifneq ($(wildcard /usr/lib/libpng.a),) PNGLIB=/usr/lib/libpng.a endif endif ifeq (${PNGLIB},) ifneq ($(wildcard /opt/local/lib/libpng.a),) PNGLIB=/opt/local/lib/libpng.a endif endif ifeq (${PNGLIB},) + PNGLIB := $(shell libpng-config --ldflags || true) +endif +ifeq (${PNGLIB},) PNGLIB=-lpng endif ifeq (${PNGINCL},) ifneq ($(wildcard /opt/local/include/png.h),) PNGINCL=-I/opt/local/include + else + PNGINCL := $(shell libpng-config --I_opts || true) +# $(info using libpng-config to set PNGINCL: ${PNGINCL}) endif endif # autodetect where mysql includes and libraries are installed # do not need to do this during 'clean' target (this is very slow for 'clean') ifneq ($(MAKECMDGOALS),clean) # on hgwdev, use the static library. ifeq (${FULLWARN},hgwdev) MYSQLINC=/usr/include/mysql MYSQLLIBS=/usr/lib64/libssl.a /usr/lib64/libcrypto.a /usr/lib64/mysql/libmysqlclient.a -lkrb5 endif # this does *not* work on Mac OSX with the dynamic libraries ifneq ($(UNAME_S),Darwin) - ifeq (${MYSQLINC},) - MYSQLINC := $(shell mysql_config --include | sed -e 's/-I//' || true) - # $(info using mysql_config to set MYSQLINC: ${MYSQLINC}) - endif ifeq (${MYSQLLIBS},) MYSQLLIBS := $(shell mysql_config --libs || true) # $(info using mysql_config to set MYSQLLIBS: ${MYSQLLIBS}) endif endif ifeq (${MYSQLINC},) + MYSQLINC := $(shell mysql_config --include | sed -e 's/-I//' || true) +# $(info using mysql_config to set MYSQLINC: ${MYSQLINC}) + endif + ifeq (${MYSQLINC},) ifneq ($(wildcard /usr/local/mysql/include/mysql.h),) MYSQLINC=/usr/local/mysql/include endif endif ifeq (${MYSQLINC},) ifneq ($(wildcard /usr/include/mysql/mysql.h),) MYSQLINC=/usr/include/mysql endif endif ifeq (${MYSQLINC},) ifneq ($(wildcard /opt/local/include/mysql55/mysql/mysql.h),) MYSQLINC=/opt/local/include/mysql55/mysql endif endif ifeq (${MYSQLLIBS},) @@ -145,30 +151,40 @@ ifeq (${MYSQLLIBS},) ifneq ($(wildcard /usr/lib64/mysql/libmysqlclient.so),) MYSQLLIBS=/usr/lib64/mysql/libmysqlclient.so endif endif ifeq (${MYSQLLIBS},) ifneq ($(wildcard /usr/lib/libmysqlclient.a),) MYSQLLIBS=/usr/lib/libmysqlclient.a endif endif ifeq (${MYSQLLIBS},) ifneq ($(wildcard /opt/local/lib/mysql55/mysql/libmysqlclient.a),) MYSQLLIBS=/opt/local/lib/mysql55/mysql/libmysqlclient.a endif endif + ifeq (${MYSQLLIBS},) + ifneq ($(wildcard /usr/local/Cellar/mysql/5.6.19/lib/libmysqlclient.a),) + MYSQLLIBS=/usr/local/Cellar/mysql/5.6.19/lib/libmysqlclient.a + endif + endif + ifeq (${MYSQLLIBS},) + ifneq ($(wildcard /usr/local/Cellar/mysql/5.6.16/lib/libmysqlclient.a),) + MYSQLLIBS=/usr/local/Cellar/mysql/5.6.16/lib/libmysqlclient.a + endif + endif ifeq ($(findstring src/hg/,${CURDIR}),src/hg/) ifeq (${MYSQLINC},) $(error can not find installed mysql development system) endif endif # last resort, hoping the compiler can find it in standard locations ifeq (${MYSQLLIBS},) MYSQLLIBS="-lmysqlclient" endif endif # $(info have MYSQLINC: ${MYSQLINC}) # $(info have MYSQLLIBS: ${MYSQLLIBS}) # OK to add -lstdc++ to all MYSQLLIBS just in case it is