Chris Bieneman via llvm-dev
2016-Jan-14 19:31 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
> On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > >> >> On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> >>> On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: >>> >>> On 14 January 2016 at 11:24, David Jones via llvm-dev >>> <llvm-dev at lists.llvm.org> wrote: >>>> Thanks - I'll try this tonight. >>>> >>>> Assuming it works, should these variables be added to the docs at >>>> http://llvm.org/docs/CMake.html ? >>> >>> Yes. >> >> It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would discourage adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely what people actually want, and a lot of people gravitate to it because the wording is similar to the autoconf —enable-shared flag. > > Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t it make sense to document it to explicitly discourage people from using it and avoid them surprising behavior?Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda like to remove the option entirely.> (By the way, the name is quite tempting to be used wrongly, it would benefit a rename maybe).Yea, at the very least we need a rename. It also violates the ${Project}_* naming convention. -Chris> > — > Mehdi > > > >> >>> >>> We should probably be updating [1] too given that this document talks >>> exclusively about compiling with the Autoconf/Makefile build system. >> >> Yes, we should update that too. I actually have been meaning to put a section up there documenting the Apple Clang packaging because that is almost entirely open source now. I’ll try to get that done this week. >> >>> >>> @Hans @Chris: >>> >>> Should the packaging instructions refer to the CMake or >>> Autoconf/Makefile build system for the LLVM 3.8 release? >> >> Maybe, I’ll defer that to Hans. I believe the packaging scripts are on CMake, so we’ve at least gotten that far. >> >>> >>> >>> [1] http://llvm.org/docs/Packaging.html >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160114/01c9bdca/attachment.html>
Ismail Donmez via llvm-dev
2016-Jan-14 19:43 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
On Thu, Jan 14, 2016 at 9:31 PM, Chris Bieneman via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > > On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > > On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: > > On 14 January 2016 at 11:24, David Jones via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > Thanks - I'll try this tonight. > > Assuming it works, should these variables be added to the docs at > http://llvm.org/docs/CMake.html ? > > > Yes. > > > It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would discourage > adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely what > people actually want, and a lot of people gravitate to it because the > wording is similar to the autoconf —enable-shared flag. > > > Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t it > make sense to document it to explicitly discourage people from using it and > avoid them surprising behavior? > > > Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda > like to remove the option entirely.Do I understand it correctly that LLVM_BUILD_LLVM_DYLIB produces a one big libLLVM.so and a lot of static libraries? Btw currently for openSUSE builds we do utilize BUILD_SHARED_LIBS so please don't remove it. Thanks!
Joerg Sonnenberger via llvm-dev
2016-Jan-14 21:01 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
On Thu, Jan 14, 2016 at 11:31:55AM -0800, Chris Bieneman via llvm-dev wrote:> > > On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > > >> > >> On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> > >> > >>> On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: > >>> > >>> On 14 January 2016 at 11:24, David Jones via llvm-dev > >>> <llvm-dev at lists.llvm.org> wrote: > >>>> Thanks - I'll try this tonight. > >>>> > >>>> Assuming it works, should these variables be added to the docs at > >>>> http://llvm.org/docs/CMake.html ? > >>> > >>> Yes. > >> > >> It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would discourage adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely what people actually want, and a lot of people gravitate to it because the wording is similar to the autoconf —enable-shared flag. > > > > Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t it make sense to document it to explicitly discourage people from using it and avoid them surprising behavior? > > Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda like to remove the option entirely.It is exactly what I want to have for debug builds. It means linking moderately chunked blocks of code together and can even parallelize that easily. I agree that it is not an end user option, but for developers it is helpful exactly as it is. Joerg
Andrew Wilkins via llvm-dev
2016-Jan-14 22:56 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
On Fri, 15 Jan 2016 at 03:44 Ismail Donmez via llvm-dev < llvm-dev at lists.llvm.org> wrote:> On Thu, Jan 14, 2016 at 9:31 PM, Chris Bieneman via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > > > On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > > > > > On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev > > <llvm-dev at lists.llvm.org> wrote: > > > > > > On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: > > > > On 14 January 2016 at 11:24, David Jones via llvm-dev > > <llvm-dev at lists.llvm.org> wrote: > > > > Thanks - I'll try this tonight. > > > > Assuming it works, should these variables be added to the docs at > > http://llvm.org/docs/CMake.html ? > > > > > > Yes. > > > > > > It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would > discourage > > adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely > what > > people actually want, and a lot of people gravitate to it because the > > wording is similar to the autoconf —enable-shared flag. > > > > > > Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t > it > > make sense to document it to explicitly discourage people from using it > and > > avoid them surprising behavior? > > > > > > Honestly, I’m not sure *anyone* actually wants that behavior, and I’d > kinda > > like to remove the option entirely. > > Do I understand it correctly that LLVM_BUILD_LLVM_DYLIB produces a one > big libLLVM.so and a lot of static libraries?Yes.> Btw currently for > openSUSE builds we do utilize BUILD_SHARED_LIBS so please don't remove > it. > > Thanks! > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160114/bdc76922/attachment.html>
Chris Bieneman via llvm-dev
2016-Jan-14 22:59 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
> On Jan 14, 2016, at 11:43 AM, Ismail Donmez <ismail at i10z.com> wrote: > > On Thu, Jan 14, 2016 at 9:31 PM, Chris Bieneman via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: >> >> On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: >> >> >> On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> >> >> On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: >> >> On 14 January 2016 at 11:24, David Jones via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> >> Thanks - I'll try this tonight. >> >> Assuming it works, should these variables be added to the docs at >> http://llvm.org/docs/CMake.html ? >> >> >> Yes. >> >> >> It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would discourage >> adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely what >> people actually want, and a lot of people gravitate to it because the >> wording is similar to the autoconf —enable-shared flag. >> >> >> Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t it >> make sense to document it to explicitly discourage people from using it and >> avoid them surprising behavior? >> >> >> Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda >> like to remove the option entirely. > > Do I understand it correctly that LLVM_BUILD_LLVM_DYLIB produces a one > big libLLVM.so and a lot of static libraries? Btw currently for > openSUSE builds we do utilize BUILD_SHARED_LIBS so please don't remove > it.I’m kinda scared that you’re using it. What are you trying to accomplish that you are using it? Generally having LLVM split among that many dynamically loaded libraries results in significant performance regressions. -Chris> > Thanks!-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160114/ac500738/attachment.html>
Yury Gribov via llvm-dev
2016-Jan-15 05:56 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
On 01/15/2016 12:01 AM, Joerg Sonnenberger via llvm-dev wrote:> On Thu, Jan 14, 2016 at 11:31:55AM -0800, Chris Bieneman via llvm-dev wrote: >> >>> On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: >>> >>>> >>>> On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev <llvm-dev at lists.llvm.org> wrote: >>>> >>>> >>>>> On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: >>>>> >>>>> On 14 January 2016 at 11:24, David Jones via llvm-dev >>>>> <llvm-dev at lists.llvm.org> wrote: >>>>>> Thanks - I'll try this tonight. >>>>>> >>>>>> Assuming it works, should these variables be added to the docs at >>>>>> http://llvm.org/docs/CMake.html ? >>>>> >>>>> Yes. >>>> >>>> It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would discourage adding BUILD_SHARED_LIBS to that document. BUILD_SHARED_LIBS is rarely what people actually want, and a lot of people gravitate to it because the wording is similar to the autoconf —enable-shared flag. >>> >>> Considering that BUILD_SHARED_LIBS is rarely what people want, wouldn’t it make sense to document it to explicitly discourage people from using it and avoid them surprising behavior? >> >> Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda like to remove the option entirely. > > It is exactly what I want to have for debug builds. It means linking > moderately chunked blocks of code together and can even parallelize that > easily. I agree that it is not an end user option, but for developers it > is helpful exactly as it is.+100, this speeds up incremental link tremendously.> > Joerg > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
Daniel Sanders via llvm-dev
2016-Jan-15 11:19 UTC
[llvm-dev] Building SVN head with CMake - shared libraries?
> -----Original Message----- > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Joerg > Sonnenberger via llvm-dev > Sent: 14 January 2016 21:02 > To: llvm-dev at lists.llvm.org > Subject: Re: [llvm-dev] Building SVN head with CMake - shared libraries? > > On Thu, Jan 14, 2016 at 11:31:55AM -0800, Chris Bieneman via llvm-dev > wrote: > > > > > On Jan 14, 2016, at 11:22 AM, Mehdi Amini <mehdi.amini at apple.com> > wrote: > > > > > >> > > >> On Jan 14, 2016, at 9:38 AM, Chris Bieneman via llvm-dev <llvm- > dev at lists.llvm.org> wrote: > > >> > > >> > > >>> On Jan 14, 2016, at 5:18 AM, Dan Liew <dan at su-root.co.uk> wrote: > > >>> > > >>> On 14 January 2016 at 11:24, David Jones via llvm-dev > > >>> <llvm-dev at lists.llvm.org> wrote: > > >>>> Thanks - I'll try this tonight. > > >>>> > > >>>> Assuming it works, should these variables be added to the docs at > > >>>> http://llvm.org/docs/CMake.html ? > > >>> > > >>> Yes. > > >> > > >> It probably makes sense to add LLVM_BUILD_LLVM_DYLIB, but I would > discourage adding BUILD_SHARED_LIBS to that document. > BUILD_SHARED_LIBS is rarely what people actually want, and a lot of people > gravitate to it because the wording is similar to the autoconf —enable-shared > flag. > > > > > > Considering that BUILD_SHARED_LIBS is rarely what people want, > wouldn’t it make sense to document it to explicitly discourage people from > using it and avoid them surprising behavior? > > > > Honestly, I’m not sure *anyone* actually wants that behavior, and I’d kinda > like to remove the option entirely. > > It is exactly what I want to have for debug builds. It means linking > moderately chunked blocks of code together and can even parallelize that > easily. I agree that it is not an end user option, but for developers it > is helpful exactly as it is. > > Joerg+1. I use it because it makes a huge difference to build time on incremental debug builds. I generally find that the build time saving is worth a lot more than the run-time cost.