[Privoxy-devel] new windows build system

Lee ler762 at gmail.com
Thu May 5 21:36:14 UTC 2016


On 5/2/16, Fabian Keil <fk at fabiankeil.de> wrote:
> Lee <ler762 at gmail.com> wrote:
>
>> On 4/30/16, Fabian Keil <fk at fabiankeil.de> wrote:
>> > Lee <ler762 at gmail.com> wrote:
>> >
>> >> On 4/28/16, Fabian Keil <fk at fabiankeil.de> wrote:
>> >> > Lee <ler762 at gmail.com> wrote:
>
>> >> >> and replacing AC_CANONICAL_HOST with AC_CANONICAL_SYSTEM in
>> >> >> configure.in
>> >> >
>> >> > Did you try adding AC_CANONICAL_SYSTEM without removing
>> >> > AC_CANONICAL_HOST?
>> >>
>> >> I don't remember if I tried it after updating config.guess &
>> >> config.sub or not.  And it turns out I shouldn't be using
>> >> AC_CANONICAL_SYSTEM anyway - see
>> >> https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
>> >>
>> >> *sigh* I need to keep better notes.  What I added was
>> >> AC_CONFIG_HEADER([config.h])
>> >> dnl LR * AC_CANONICAL_HOST
>> >> dnl LR * ac-canonical-host does not set up a compiler toolchain
>> >> dnl LR * as in, it does not support cross-compiling???
>> >>
>> >> and I don't remember where I got the idea it doesn't set up a compiler
>> >> toolchain.
>> >
>> > Does this mean the autoconf goo works as is?
>>
>> Yes - see attached.  I've had too much weirdness with make not
>> realizing something needs to be done that I did this from the 3.0.24
>> source tarball to make sure there were no "leftovers" from previous
>> attempts.
>>
>> For whatever it's worth, I'm _positive_ the cross-compiler build
>> didn't work until I updated config.guess & config.sub; dunno what
>> changed so that it works now.  *sigh*

I'm going to blame it on switching to a different toolchain in the
middle of converting:
Yaakov Selkowitz to cygwin at cygwin.com at Mar 17, 2016 at 5:45 PM
   The old mingw.org (i686-pc-mingw32) toolchain has been removed from the
   Cygwin distribution.  It was unmaintained (both upstream and downstream)
   and limited to 32-bit support.  Users who wish to cross-compile for native
   Windows should use the mingw64-* ({i686,x86_64}-w64-mingw32)
toolchains instead.


>> & I guess it's not relevant now, but take a look at
>> https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Canonicalizing.html#Canonicalizing
>>
>> A cross-compiler toolchain doesn't "need to recognize some special
>> environments based on their system type" ??
>
> Not all toolchains rely on autoconf to get that information.
>
> BTW, I'm not opposed to adding stuff to configure.in if it helps
> with the cross-compilation, but I'm cautious about replacing stuff
> with other stuff if the impact on other platforms is unclear.
>
> Adding AC_CANONICAL_SYSTEM doesn't seem risky to me,
> but using it as replacement for AC_CANONICAL_HOST
> seemed strange as they aren't equivalent.

It looks like it's not necessary now.  I added some echo cmds to configure.in:
AC_INIT(jcc.c)

echo "after ac_INIT"
echo "  build:${build}:   host:${host}:   target:${target}: "
echo "  build_alias:${build_alias}:   host_alias:${host_alias}:
target_alias:${target_alias}: "
echo "  build_cpu:${build_cpu}:  build_vendor:${build_vendor}:
build_os:${build_os}:"
echo "  host_cpu:${host_cpu}:  host_vendor:${host_vendor}:  host_os:${host_os}:"
  [.. snip ..]
AC_CONFIG_HEADER([config.h])
AC_CANONICAL_HOST

echo "after ac_CANONICAL_HOST"
echo "  build:${build}:   host:${host}:   target:${target}: "
echo "  build_alias:${build_alias}:   host_alias:${host_alias}:
target_alias:${target_alias}: "
echo "  build_cpu:${build_cpu}:  build_vendor:${build_vendor}:
build_os:${build_os}:"
echo "  host_cpu:${host_cpu}:  host_vendor:${host_vendor}:  host_os:${host_os}:"

and AC_CANONICAL_HOST sets both the host and build variables:
after ac_INIT
  build:i686-pc-cygwin:   host:i686-w64-mingw32:   target::
  build_alias:i686-pc-cygwin:   host_alias:i686-w64-mingw32:   target_alias::
  build_cpu::  build_vendor::  build_os::
  host_cpu::  host_vendor::  host_os::
checking build system type... i686-pc-cygwin
checking host system type... i686-w64-mingw32
after ac_CANONICAL_HOST
  build:i686-pc-cygwin:   host:i686-w64-mingw32:   target::
  build_alias:i686-pc-cygwin:   host_alias:i686-w64-mingw32:   target_alias::
  build_cpu:i686:  build_vendor:pc:  build_os:cygwin:
  host_cpu:i686:  host_vendor:w64:  host_os:mingw32:
checking for i686-w64-mingw32-gcc... i686-w64-mingw32-gcc
  [.. snip remainder ..]

Thanks,
Lee


More information about the Privoxy-devel mailing list