Tom N Harris <telliamed@...> writes:

> 
> I can agree with the need to know the current version of the build host OS. 
> The equivalent of Linux's uname. May as well make it a general variable for 
> all platforms. Or expand the platform override system to work with version 
> numbers.
> 
>     build.platforms = { ["win32 >= 5.1"] = { ... } }
> 
> Do we need architecture overrides too? x86, x86_64, armv7, et. al.
>

I though luarocks already do that. Luarocks support x86 and x86_64
architectures.

> But using this to directly set WINVER isn't appropriate. As you pointed out, 
> the build host has nothing to do with the API version. I can't just define 
> WINVER=0x602 and expect the new API to magically appear in MinGW. I'd be 
> building with an effective API version of 0x601, which could lead to compile 
> errors if the source tries to use any Windows 8 features. The ideal setting 
> for WINVER is the minimum of the API version the source is compatible with, 
> and the API version that can be supplied by the SDK. 

I think we could assume that luarocks build module for system on which it
installed.
And user should install appropriate version SDK (MinGW supports all platforms).
If he doesn't do that then he should manually sets appropriate 
compile flags/luarocks variables (e.g. in command line or in config) that
overwrites default values.
luarocks also can detect this while installing.

> An intelligent build system would help just as Linux developers use autoconf 
> to detect compiler features. But lacking a reliable environment to run
scripts 
> in, we prefer the builtin method for Windows rocks. And you've encountered
one 
> of its limitations.
> 
> Lake isn't a defined backends. But it could be if LR had build-time 
> dependencies. This is on the roadmap, isn't it?
> 

We can use lake with `command` build type. With lake we can write this
script in Lua
and put it in lakeconfig.

>
> ps. I still say it would be easier to build one universal module that detects 
> the available functions at runtime using GetProcAddress. See 
> http://blogs.msdn.com/b/vcblog/archive/2012/03/13/10282397.aspx
> 

I prefer compile time checking. 
At the end when i compile code i know on which system it should work.



------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Luarocks-developers mailing list
Luarocks-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/luarocks-developers

Reply via email to