Myself using Interix and "Mook" using Wine have both tried to cross-compile Mozilla using MSVC as a cross compiler. Generally I would like to think that NSS has been the easiest part to cross compile, but here are the issues we ran into:

  1. Because we're not using GCC or MSYS, rules.mk tries to run cygpath
     -w `pwd` which fails because we have no cygpath.
  2. AR does not get set correctly because AR_FLAGS contains $@
  3. LINK fails to run because the environment contains LINK=link which
     it sees as a request to link link.obj
  4. RC fails to run because some of the NSPR includes can't determine
     the target processor (_X86_ does not get defined)
  5. Because he was using VC8 Mook also had some issues with manifests.

I would be happy to write patches for these if you would advise me as to whether my ideas are useful.

  1. I wrapped the code in a test for NATIVE_CC; Mook used
     CROSS_COMPILE but I think that relies on you exporting it from the
     shell.
  2. AR='$(subst $@,$$@,$(AR) $(AR_FLAGS))' (Mook used a similar construct)
  3. Mook prefixed LINK= $(LINK) to temporarily clear the variable; my
     suggestion is to rename $(LINK) to $(LD) in the makefile
  4. Currently we work around this by preventing rc from including
     seccommon.h but I'd appreciate ideas for how to persuade NSS that
     i686 is _X86_
  5. I don't know about this, but I could ask Mook to chime in if you
     thought it would be useful.

--
Warning: May contain traces of nuts.
_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to