[flac-dev] Lets work towards a new version

Erik de Castro Lopo mle+la at mega-nerd.com
Thu Jun 19 06:01:26 PDT 2014

lvqcl wrote:

> Audacity still uses VS2008 and slowly tries to migrate to VS2012.
> But as stated at <http://wiki.audacityteam.org/wiki/Developing_On_Windows>,
> "Audacity is currently a 32-bit only application". So it doesn't need
> 64-bit builds.
> Currently its trunk contains 'audacity.sln' made with Visual C++ Express 2008
> and 'audacity-vs2012_EXPERIMENTAL.sln' made with Visual Studio Express 2012 for Windows Desktop.

Ok, Audacity is not a good example to follow. We need to find out
what some other common used cross platform project is doing. Preferably
more than one project.

> > My main concern about having multiple build systems is the maintenance
> > burden. As long as that burden is minor I'm happy to accept what people
> > are willing to contribute. I personally will support the autotools based
> > build system and can also support the Makefile.lite build system.
> That's why I asked about unused .nasm files: it's better to do all the
> changes to .vcproj files first, and only then convert them to .vcxproj.


> >> VC projects contain relative paths such as "..\..\include". Is it better to
> >> leave them as is or to change to something like "$(SolutionDir)include"?
> >
> > That sounds like a good idea.
> I opened libFLAC_static.vcproj in a text editor and it turns out that it
> contains relative paths anyway:
>      <File RelativePath="..\..\include\FLAC\stream_encoder.h"></File>
> So replacing relative paths in "AdditionalIncludeDirectories" entries seems
> rather pointless, sorry.

Ok, you know more about this than me.

> >> Is it better to remove these files from Makefile and .vcproj files, or to leave them?
> >> I don't think that they will become useful again, but who knows...
> >
> > I think they should be deleted in a commit that says something like "Removing
> > old nasm versions of some functions". That will clearly mark that commit so
> > that if needed the files can be easily retrieved from the Git history.
> Should these patches also remove those .nasm files from the source tree or not?


> (currently src/libFLAC/ia32 folder contains unused lpc_asm-unrolled.nasm
> file, so why remove unused bitreader_asm.nasm and stream_encoder_asm.nasm files?)

I don't see any point in keeping files in release tarballs or in Git that
provide no value. Documentation provides value, but unused source code 
does not.

All the various build system files should be cleansed of references to these
files and then we need a single commit that removes them.

Erik de Castro Lopo

More information about the flac-dev mailing list