Re: [squid-dev] Compiling from repository checkout

2017-12-24 Thread Kinkie
Hi Mika,
  sorry for the delayed answer.

> Thanks, got it. One more question. Do you know why bootstrap.sh verifies
> that glibtool is installed in OS X. Cause I tried this
>
> brew install libtool
> ./bootstrap.sh
> brew uninstall libtool
> ./configure && make
>
> And squid builds (and runs) just fine. But If I do
>
> brew uninstall libtool
> ./bootstrap.sh
>
> Then bootstrapping fails saying glibtool is not installed.

What MacOS calls 'libtool' is an entirely different beast than GNU
libtool. Just try 'man libtool' to see what I mean.
So unless you have glibtool installed, well, it is't.

> The reason I am asking is that if I don’t uninstall glibtool, the final
> binary will have dependency to dynamic glibtool lib.  The glibtool is
> installed to Homebrew default path (/usr/local/..) and doesn’t necessarily
> exists in other OS X installations. So if I want to give the binary I build
> to my coworker it may not work in his machine unless he installs glibtool
> first through homebrew.

If you want to have a fully portable binary I suspect that the only
solution is to link it statically, sorry.
And yes, that's unavoidable, sadly: libtool is a required component to
build squid.


-- 
Francesco
___
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev


Re: [squid-dev] Compiling from repository checkout

2017-12-18 Thread mika ristimaki

On 18 Dec 2017, 10.44 +0200, Kinkie , wrote:
> On Mon, Dec 18, 2017 at 7:34 AM, mika ristimaki
>  wrote:
>
> > So my question is how platform independent configure scripts are created if
> > bootstrap.sh is platform dependant? Or what I am missing here?
>
> Exactly through bootstrap.sh :)
> The full build process for Squid-from-source is
> $ bootstrap.sh && ./configure && make
>
> This is because bootstrap builds auto-generated code (e.g. configure)
> which makes no sense to have in our source repository.
> At the same time, building from source requires additional tools (e.g.
> autoconf, automake, libtoolize) which may not be present on an user's
> build system, so these generated bits are included in the distribution
> tarball.


Thanks, got it. One more question. Do you know why bootstrap.sh verifies that 
glibtool is installed in OS X. Cause I tried this

brew install libtool
./bootstrap.sh
brew uninstall libtool
./configure && make

And squid builds (and runs) just fine. But If I do

brew uninstall libtool
./bootstrap.sh

Then bootstrapping fails saying glibtool is not installed.

The reason I am asking is that if I don’t uninstall glibtool, the final binary 
will have dependency to dynamic glibtool lib.  The glibtool is installed to 
Homebrew default path (/usr/local/..) and doesn’t necessarily exists in other 
OS X installations. So if I want to give the binary I build to my coworker it 
may not work in his machine unless he installs glibtool first through homebrew.

-Mika

>
>
> --
> Francesco
___
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev


Re: [squid-dev] Compiling from repository checkout

2017-12-18 Thread Kinkie
On Mon, Dec 18, 2017 at 7:34 AM, mika ristimaki
 wrote:
> Hi all,

Hello Mika!

> I noticed that the source code distributions
> (http://www.squid-cache.org/Versions/v4/) and the repository
> (https://github.com/squid-cache/squid) differ in a sense that the tar.gz
> packages include the configure script and Makefiles.
>
>
> I am trying to replicate it, and I it looks to me that the configure
> scripts, etc., are created by running ./bootstrap.sh. But looking at the
> bootstrap.sh it has this
>
>
> # On MAC OS X, GNU libtool is named 'glibtool':
>
> if [ `uname -s 2>/dev/null` = 'Darwin' ]
>
> then
>
>   LIBTOOL_BIN="glibtool"
>
> else
>
>   LIBTOOL_BIN="libtool”
>
> fi
>
>
> So it is platform dependant.

Yes.

> So my question is how platform independent configure scripts are created if
> bootstrap.sh is platform dependant? Or what I am missing here?

Exactly through bootstrap.sh :)
The full build process for Squid-from-source is
$ bootstrap.sh && ./configure && make

This is because bootstrap builds auto-generated code (e.g. configure)
which makes no sense to have in our source repository.
At the same time, building from source requires additional tools (e.g.
autoconf, automake, libtoolize) which may not be present on an user's
build system, so these generated bits are included in the distribution
tarball.


-- 
Francesco
___
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev


[squid-dev] Compiling from repository checkout

2017-12-17 Thread mika ristimaki
Hi all,

I noticed that the source code distributions 
(http://www.squid-cache.org/Versions/v4/) and the repository 
(https://github.com/squid-cache/squid) differ in a sense that the tar.gz 
packages include the configure script and Makefiles.

I am trying to replicate it, and I it looks to me that the configure scripts, 
etc., are created by running ./bootstrap.sh. But looking at the bootstrap.sh it 
has this

# On MAC OS X, GNU libtool is named 'glibtool':
if [ `uname -s 2>/dev/null` = 'Darwin' ]
then
  LIBTOOL_BIN="glibtool"
else
  LIBTOOL_BIN="libtool”
fi

So it is platform dependant.

So my question is how platform independent configure scripts are created if 
bootstrap.sh is platform dependant? Or what I am missing here?

-Mika

P.S. Sorry if this is a duplicate but it seems like the first one didn’t go 
through
___
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev