libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] should libcdio be declared 0.91 as is or with furthe


From: Natalia Portillo
Subject: Re: [Libcdio-devel] should libcdio be declared 0.91 as is or with further changes ?
Date: Wed, 23 Oct 2013 13:11:50 +0100

Hi Pete,

El 22/10/2013, a las 20:11, Pete Batard <address@hidden> escribió:

> Hi Natalia,
> 
> On 2013.10.21 22:52, Natalia Portillo wrote:
>> Do you have knowledge of VS precompilation scripts?
>> 
>> And postcompilation?
> 
> I've done some very limited work with Pre and Post build events in VS2012 for 
> libwdi, where I wanted Intellisense to avoid scanning a large autogenerated 
> include (to stop it from hogging the CPU when doing so), as well as execute 
> the host-build executable that generates that include.
> 
> You can take a look at the PreBuiltEvent and PostBuildEvent from [1]. The Pre 
> task runs the following set of commands before the build:
> 
> cd $(ProjectDir)\..
> if exist embedded.no_is ren embedded.no_is embedded.h
> embedder embedded.h
> 
> Basically, it uses one of the various project variables, here $(ProjectDir), 
> to switch to the source directory, then renames a file and finally calls on a 
> previously generated executable (embedder.exe) to updates the embedded.h 
> include
> 
> I think the more troublesome part is figuring out the various variable names 
> that Visual Studio makes available, as the rest is equivalent to writing a 
> batch file.

I’ll check about it this weekend.

>> We are having problems on how to make the work that usually autoconf does, 
>> and how to auto run test once compiled.
> 
> Hopefully the above will help.
> 
> In your case, in the Post task, you probably want to 'cd' to the directory 
> that contains the generated test executables (I think there's an MS variable 
> for the build dir), then check if the test executable exists before launching 
> it.
> 
> I believe that the DOS errorlevel generated by any command from these scripts 
> is used by the Pre/Post step to determine if the operation was successful, 
> and flag an error if it wasn't.
> 
> There may also be other ways to run a test suite within Visual Studio.
> 
>> Also i need to get it to create a dynamic library not just the static one as 
>> it is doing, but this is not so much of a priority.
> 
> I don't have a good answer to that one. Right now, in the Visual Studio 
> projects I have, that create a library, I maintain two MSVC projects: one for 
> the static library and one for the DLL.
> 
> For instance, if you look at libwdi [3], you'll see a libwdi_dll.vcxproj and 
> a libwdi_static.vcxproj.
> The global MSVC solution is set to only use one of those (in this case the 
> static), leaving the user to generate the DLL manually, if they need it.
> 
> Still, I wouldn't mind finding a solution, that doesn't involve manually 
> keeping 2 project files in sync (and that isn't based on using CMake, as the 
> requirement of CMake to run on a platform with the target MSVC installed, 
> just to generate a project file compatible with that target, is too 
> restricting on cross-platform projects, where a maintainer using Linux may 
> want to generate a set of ready-to-use static MSVC project files for a 
> release)…
> 

Yes I expected to need another project.

I’m worried what will happen when a new file.c is added to the project on the 
UNIX side, as probably no one will care to add the same file to the vcxproj 
file (just a plain XML, indeed I made them all outside of VS), and will get out 
of sync again.

For the rest of the 0.91, wait!

I’ve been heavily working monday and tuesday, with a friend that wants to stay 
anonymous, and we have almost corrected the Mac OS X driver, and found a bug in 
the inner guts of libcdio.

Right now if you call get_devices() or get_default_device() it is making an 
open() on the drive, library-wide. Not so much of a problem in Linux or Win32, 
but opened drives in Mac OS X disappear from the list of available drives, so 
anything that comes later than the get() functions will fail in Mac OS X. As I 
understood it, get() functions should merely get a list of available drive 
paths, not open any of them at all, or even init the drive, so this should be 
corrected, isn’t it?

Regards,
Natalia Portillo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]