Bluesky,
I too tried for ages to get a nasm build with MinGW and had no success, until I ditched the "./configure" approach and used the Makefile.unix file that comes with the Lame sourcecode.
First off, make a copy of the 'configMS.h' file in the lame directory, and rename the copy to 'config.h'
Second, make sure you have a 'nasmw.exe' installed in your mingw/bin directory (either by renaming 'nasm.exe' or by installing the latest nasm for Win32 package from Sourceforge)
Thirdly (optional), edit the 'makefile.unix' file and find the following section, about two thirds of the way down:
QUOTE
###########################################################################
# MSDOS/Windows
###########################################################################
ifeq ($(UNAME),MSDOS)
RM =
CC_OPTS = \
-Wall -pipe -O3 -fomit-frame-pointer -ffast-math -funroll-loops \
-fschedule-insns2 -fmove-all-movables -freduce-all-givs \
-mcpu=pentium -march=pentium -mfancy-math-387
CC_OPTS += -D_cdecl=__cdecl
PGM = lame.exe
endif
then edit it so it say something like
QUOTE
###########################################################################
# MSDOS/Windows
###########################################################################
ifeq ($(UNAME),MSDOS)
RM =
CC_OPTS = \
-Wall -pipe -O3 -fomit-frame-pointer -march=athlon-xp
PGM = lame.exe
endif
or whichever CPU you have etc.
Lastly, type the following command line:
make -f makefile.unix UNAME=MSDOS HAVE_NASM=YESAnd you should get your lame.exe in the 'frontend' directory.
Just tried this on 3.96.1 and it worked a treat! If it fails, revert to an older version on MinGW (like 3.1.0), and DON'T update your GCC version (3.2.3 is fine!)
P.S. -march implies -mtune, so no need for the -mtune option