Hi All, Over the past few days i've been making modifications to the autoconf scripts to fix some long standing issues. Previously autoconf.h would be installed along with the library files, and #included from <freeradius-server/libradius.h>, this meant programs and libraries that included libradius.h and their own autoconf headers could get annoying redefinition warnings, and depending on the order of inclusion, may have had their autoconf values overridden. With the new system, header files that require values from autoconf.h are preprocessed to substitute the autoconf values before they're used or installed. Unfortunately this caused issues at build time, where modules or library files were relying on the inclusion of libradius.h to provide autoconf.h definitions. The fix for this was to change CFLAGS to include -imacros src/include/features.h and src/include/autoconf.h. This means the definitions from features.h (all the WITH_* defines like WITH_DHCP, WITH_TCP etc..) and from autoconf.h (all the HEAD_* defines) are available everwhere, but are never emitted. This makes life a bit simpler when writing modules, and means anyone wanting to build against the libraries FreeRADIUS installs, can now do so without issues. Please can you check the server still builds correctly, you'll probably want to reconfigure before hand. -Arran
Hi, On Wed, Nov 07, 2012 at 01:56:29PM +0000, Arran Cudbard-Bell wrote:
Please can you check the server still builds correctly, you'll probably want to reconfigure before hand.
Probably unrelated to the above, but since ac7708e890379 there have been a few files that are marked as modified immediately after a clean checkout. Seems that they have "wrong" line endings (after the .gitattribute 'text=auto'). Also, around 632ada16cbb1c compiles of radmin broke when BOILER=yes was set. Fix for this is some additions to radmin.mk. I've done a git pull request for these two. Cheers Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
On Wed, Nov 07, 2012 at 10:24:14PM +0000, Matthew Newton wrote:
I've done a git pull request for these two.
...and just also added another commit for an all.mk file for rlm_dhcp, otherwise the server won't start. Just beginning to wonder as I'm hitting these issues if I've missed something - is anyone else still using BOILER=yes? I thought the plan was for it to become the default one day? Admittedly, it drops build time now from about 6 seconds to about 4, so maybe the original build has been improved enough that it's not really required... (though I wish configure could just go away - so incredibly slow, bit like an injured GNU lumbering through the wilderness). Cheers, Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
Matthew Newton wrote:
...and just also added another commit for an all.mk file for rlm_dhcp, otherwise the server won't start.
OK. The server *should* be more flexible with respect to modules.
Just beginning to wonder as I'm hitting these issues if I've missed something - is anyone else still using BOILER=yes? I thought the plan was for it to become the default one day?
It will be the default. Arran has been poking the build system. I've been busy at IETF taking over the RADIUS working group.
Admittedly, it drops build time now from about 6 seconds to about 4,
A lot of that is "jlibtool" versus "libtool". But the *rebuild* time goes from 2s to 0.2s. That's useful.
so maybe the original build has been improved enough that it's not really required... (though I wish configure could just go away - so incredibly slow, bit like an injured GNU lumbering through the wilderness).
Yeah. There are various proposals, but nothing useful. Alan DeKok.
On Wed, Nov 07, 2012 at 05:57:42PM -0500, Alan DeKok wrote:
Matthew Newton wrote:
Just beginning to wonder as I'm hitting these issues if I've missed something - is anyone else still using BOILER=yes? I thought the plan was for it to become the default one day?
It will be the default.
OK - I'm not going as nuts as I thought then!
Arran has been poking the build system.
I noticed... ;)
I've been busy at IETF taking over the RADIUS working group.
heh.
But the *rebuild* time goes from 2s to 0.2s. That's useful.
Good point - rebuild is incredibly quick. Thanks Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
On 7 Nov 2012, at 23:04, Matthew Newton <mcn4@leicester.ac.uk> wrote:
On Wed, Nov 07, 2012 at 05:57:42PM -0500, Alan DeKok wrote:
Matthew Newton wrote:
Just beginning to wonder as I'm hitting these issues if I've missed something - is anyone else still using BOILER=yes? I thought the plan was for it to become the default one day?
It will be the default.
OK - I'm not going as nuts as I thought then!
Yeah i'm going to take a look at doing the missing .mk files.
Arran has been poking the build system.
I noticed... ;)
:(
I've been busy at IETF taking over the RADIUS working group.
heh.
But the *rebuild* time goes from 2s to 0.2s. That's useful.
Good point - rebuild is incredibly quick.
Regarding configure, if you pass -C it'll go much quicker, as it'll share the AC cache between the different module configure scripts. You can do this by default with a config.site file. I'm looking at hacks to make it the default for developer builds, but those pesky autoconf people seem to frown upon it and have made it difficult. -Arran
Matthew Newton wrote:
Probably unrelated to the above, but since ac7708e890379 there have been a few files that are marked as modified immediately after a clean checkout. Seems that they have "wrong" line endings (after the .gitattribute 'text=auto').
Also, around 632ada16cbb1c compiles of radmin broke when BOILER=yes was set. Fix for this is some additions to radmin.mk.
I've done a git pull request for these two.
Merged, thanks. Alan DeKok.
participants (3)
-
Alan DeKok -
Arran Cudbard-Bell -
Matthew Newton