[Proj] building proj4
Eric Miller
EMiller at dfg.ca.gov
Thu Apr 5 08:47:05 PDT 2012
I think if you replace all "cl" and "link" commands in the makefiles with $(CC) and $(LINK), respectively, and then set the environment variables to "icl.exe" and "xilink.exe", respectively, then it should work. The src/makefile.vc is relying on inference rules to create "azimuthal", "conic", etc. So, to satisfy those build rules, nmake uses whatever $(CC) command is defined.
--
Eric G. Miller
Software Developer
CA Dept. of Fish & Game
>>> On 4/5/2012 at 7:25 AM, "Wellspring, Lance" <Lance.Wellspring at Woolpert.com>
wrote:
> 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
More information about the Proj
mailing list