Details
-
Type:
Story
-
Status: Won't Fix
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: Continuous Integration
-
Labels:None
-
Epic Link:
-
Team:SQuaRE
Description
A number of the third-party dependencies provide a .pc file which is installed as part of the standard eupspkg build. While not all of these are linked against directly (some are deps of deps), this appears to be reasonable place to start an incremental conversion from sconsUtils .cfg -> pkg-config.
.pc files which are already present:
./Linux64/cfitsio/3360.lsst1/lib/pkgconfig/cfitsio.pc |
./Linux64/wcslib/4.14+7/lib/pkgconfig/wcslib.pc |
./Linux64/apr/1.3.3.lsst2/lib/pkgconfig/apr-1.pc |
./Linux64/libevent/2.0.16-stable-1-g7e53c5e/lib/pkgconfig/libevent.pc |
./Linux64/libevent/2.0.16-stable-1-g7e53c5e/lib/pkgconfig/libevent_pthreads.pc |
./Linux64/libevent/2.0.16-stable-1-g7e53c5e/lib/pkgconfig/libevent_openssl.pc |
./Linux64/fftw/3.3.3/lib/pkgconfig/fftw3.pc |
./Linux64/anaconda/2.2.0/lib/pkgconfig/cairo-fc.pc |
...
|
./Linux64/anaconda/2.2.0/lib/pkgconfig/zlib.pc |
./Linux64/gsl/1.16.lsst1/lib/pkgconfig/gsl.pc |
./Linux64/apr_util/1.3.4.lsst2/lib/pkgconfig/apr-util-1.pc |
./Linux64/mysqlproxy/0.8.2+7/lib/pkgconfig/mysql-proxy.pc |
./Linux64/mysqlproxy/0.8.2+7/lib/pkgconfig/mysql-chassis.pc |
./Linux64/log4cxx/0.10.0.lsst3/lib/pkgconfig/liblog4cxx.pc |
./Linux64/protobuf/2.4.1.lsst1+3/lib/pkgconfig/protobuf.pc |
./Linux64/protobuf/2.4.1.lsst1+3/lib/pkgconfig/protobuf-lite.pc |
./Linux64/activemqcpp/10.1/lib/pkgconfig/activemq-cpp.pc |
The `pkgconfig` package will need to be added to the system deps list. It should be generally present on any linux distro. We should double check that this is also the case with homebrew.
`pkg-config` uses `$PKG_CONFIG_PATH to search for .pc files. A snippet similar to the following will need to be added to the .table files for eups products which provide a .pc.
envPrepend(PKG_CONFIG_PATH, ${PRODUCT_DIR}/lib/pkgconfig)
|
scons has some minimal support for parsing the output from pkg-config but compile flag merging will need to be tested. E.g.
Note that sconUtils ".cfg" files are created for the EUPS boost product but there is no upstream .pc files in that package.