[Proj] building proj4

Wellspring, Lance Lance.Wellspring at Woolpert.com
Thu Apr 5 07:25:10 PDT 2012


Hello all,

I needed a 64 bit version of proj4 and was able to build it from source on Win7 using the VS 2010 command line compiler.  My application then successfully used this custom build.

However, I now have a need to build proj4 using Intel Integrated Performance Primitives (IPP).  This basically entails changing all uses of 'cl' to 'icl', and uses of 'link' to 'xilink', and then of course adding whatever options I need.  Intel IPP works basically as a plugin to VS 2010 (as I'm using it), adding an Intel compiler mode to the VS 2010 command line compiler.

My problem is  even though I changed all uses of 'cl' to 'icl' in 'Proj\src\makefile.vc', when calling 'nmake /f Proj\makefile.vc' it still uses 'cl' in some cases.  I cannot seem to find where these additional 'cl' calls are being made from so that I can change them.  Here is the initial output of the build, where the first rogue 'cl' is called:

C:\PROJ\proj-4.8.0>nmake /f makefile.vc

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cd src
        nmake /f makefile.vc

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl /nologo -I. -DPROJ_LIB=\"C:\PROJ\SHARE\"  -DHAVE_STRERROR=1 /nologo /
MD /O2 /Oi /Ot /GS- /fp:precise /GA /QxSSE4.1 /Qipo /c aasincos.c adjlon.c bch2b
ps.c bchgen.c pj_gauss.c biveval.c dmstor.c mk_cheby.c pj_auth.c pj_deriv.c pj_e
ll_set.c pj_ellps.c pj_errno.c pj_factors.c pj_fwd.c pj_init.c pj_inv.c pj_list.
c pj_malloc.c pj_mlfn.c pj_msfn.c pj_open_lib.c pj_param.c pj_phi2.c pj_pr_list.
c pj_qsfn.c pj_strerrno.c pj_tsfn.c pj_units.c pj_zpoly1.c rtodms.c vector1.c pj
_release.c geocent.c pj_transform.c pj_datum_set.c pj_datums.c pj_apply_gridshif
t.c nad_cvt.c nad_init.c nad_intr.c pj_utils.c pj_gridlist.c pj_gridinfo.c proj_
mdist.c pj_mutex.c pj_initcache.c pj_ctx.c pj_log.c pj_apply_vgridshift.c PJ_bog
gs.c PJ_collg.c PJ_crast.c PJ_denoy.c PJ_eck1.c PJ_eck2.c PJ_eck3.c PJ_eck4.c PJ
_eck5.c PJ_fahey.c PJ_fouc_s.c PJ_gins8.c PJ_gn_sinu.c PJ_goode.c PJ_igh.c PJ_ha
tano.c PJ_loxim.c PJ_mbt_fps.c PJ_mbtfpp.c PJ_mbtfpq.c PJ_moll.c PJ_nell.c PJ_ne
ll_h.c PJ_putp2.c PJ_putp3.c PJ_putp4p.c PJ_putp5.c PJ_putp6.c PJ_robin.c PJ_sts
.c PJ_urm5.c PJ_urmfps.c PJ_wag2.c PJ_wag3.c PJ_wink1.c PJ_wink2.c PJ_isea.c PJ_
aeqd.c PJ_gnom.c PJ_laea.c PJ_mod_ster.c PJ_nsper.c PJ_nzmg.c PJ_ortho.c PJ_ster
e.c PJ_sterea.c proj_rouss.c PJ_aea.c PJ_bipc.c PJ_bonne.c PJ_eqdc.c PJ_imw_p.c
PJ_lcc.c PJ_poly.c PJ_rpoly.c PJ_sconics.c PJ_lcca.c PJ_cass.c PJ_cc.c PJ_cea.c
PJ_eqc.c PJ_gall.c PJ_labrd.c PJ_lsat.c PJ_merc.c PJ_mill.c PJ_ocea.c PJ_omerc.c
PJ_somerc.c PJ_tcc.c PJ_tcea.c PJ_tmerc.c PJ_geos.c PJ_gstmerc.c proj_etmerc.c
PJ_airy.c PJ_aitoff.c PJ_august.c PJ_bacon.c PJ_chamb.c PJ_hammer.c PJ_lagrng.c
PJ_larr.c PJ_lask.c PJ_nocol.c PJ_ob_tran.c PJ_oea.c PJ_tpeqd.c PJ_vandg.c PJ_va
ndg2.c PJ_vandg4.c PJ_wag7.c pj_latlong.c PJ_krovak.c pj_geocent.c PJ_healpix.c
PJ_natearth.c
cl : Command line warning D9002 : ignoring unknown option '/QxSSE4.1'
cl : Command line warning D9002 : ignoring unknown option '/Qipo'
aasincos.c
adjlon.c
bch2bps.c
...

The 'cd src' and call to 'nmake' are in the wrapper makefile.vc.  Next is some output from VS 2010.  After that is the rogue 'cl'.  The build goes on to do all the things that I expect, including the 'lib' and 'xilink' calls.  But I need the source files to be built with the 'icl' command, not 'cl'.  What am I missing?  Where is this 'cl' being called from?

Thanks for your time,
Lance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20120405/07cb3819/attachment.html>


More information about the Proj mailing list