RMWChaos wrote: > On 2012-09-18 23:26, mpsuz...@hiroshima-u.ac.jp wrote: >> $ /cygdrive/e/MSVC2005/VC/bin/cl.exe /? >> /cygdrive/e/MSVC2005/VC/bin/cl.exe: error while loading shared >> libraries: MSVCR80.dll: cannot open shared object file: No such file >> or directory > > I don't have this problem, but I'm probably not initializing things the > same way that you do. In my batch file, I'm using SETLOCAL/ENDLOCAL to > contain any vars, including PATH, so that I can modify the PATH > statement during batch execution without modifying it for the entire > life of the CMD shell. Then I call the appropriate command for MSVC > (vcvarsall.bat for MSVC2008/SDK7.0 and setenv.bat for MSVC2010/SDK7.1), > which modifies the PATH statement as appropriate. Then, I call bash and > can run cl.exe within it ... > > $ cl.exe /? > Microsoft (R) C/C++ Optimizing Compiler Version 15.00.30729.01 for x64 > Copyright (C) Microsoft Corporation. All rights reserved. > > C/C++ COMPILER OPTIONS
Ahh, I see. I will try. > This allows autoconf to confirm the compiler works and set the > appropriate flags, etc. within bash. Once that's done, however, bash > exits and make is called from the Windows CMD shell prompt directly, not > within bash. >> * Autoconf's "configure" is often designed for the compilers on Unix >> systems. For example, AC_CHECK_LIB macro (used to check the existence >> of a library with given name) assumes that "-lxxx" option will make >> the compiler search libxxx. Apparently, it would not work with MSVC >> ("/Fl" should be used instead of "-l"). I could not find the >> abstraction system in Autoconf to translate such options, I'm afraid >> that Autoconf's configure is not safe solution for the people working >> with MSVC. > > Using autoconf for Cygwin/MSVC is pretty common in my (albeit limited) > experience. You can refer to various libs to see this for yourself. An > example is lib ICU, which has a "CYGWIN/MSVC" option in its configure > file. I don't think ICU is good example, but anyway I will try some libraries using genuine autoconf only. > c:\freetype> vcvarsall amd64 > c:\freetype> bash ./configure --prefix=[path] --enable-static > "CFLAGS=/Gy /MD /EHsc /nologo" "CXXFLAGS=/Gy /MD /EHsc /nologo" > c:\freetype> make > c:\freetype> make install > > To reiterate, I'm *NOT* running make in bash, but at the Windows CMD > shell prompt, which is not the same as what you were indicating with > "configure && make && make install". That may be where the > miscommunication is coming from here. Oh! Thank you very much for clarification, yes, I had overlooked that "make" was executed out of bash. I've never tried such. > Regards, > > -RMWChaos > >> >>> -RMWChaos >>> >>> On 2012-09-18 12:01, suzuki toshiya wrote: >>>> Today I don't have my machine with MSVC in my hand... >>>> I think "make setup visualc" is not designed for the combination >>>> of Cygwin bash/make + MSVC. It would be suitable for MinGW make + MSVC. >>>> >>>> The binaries you want to build are those running on Windows >>>> platform WITHOUT cygwin? Or, those running DEPENDING cygwin? >>>> Cygwin is designed to pretend as if it were Unix platform, >>>> so configure will be (mis)guided as if it finds the platform >>>> as Unix. >>>> >>>>> bash ./configure %FLAGS% >>>>> make >>>>> make install >>>>> >>>>> For most packages, this is working well; however, I'm really >>>>> struggling >>>> Without giving concrete example, I could not comment about >>>> whether this (configure && make && make install) is right >>>> direction, because, I'm not sure which binary (with cygwin? >>>> without cygwin?) you want. What kind of packages you could >>>> get expected result? >>>> >>>> Regards, >>>> mpsuzuki >>>> >>>> >>>> RMWChaos wrote: >>>>> *ENVIRONMENT:* >>>>> MS Windows 7 x64 >>>>> MSVC 2008 / SDK 7.0 -or- 2010 / SDK 7.1 >>>>> Cygwin bash >>>>> GNU make 3.8.1 >>>>> >>>>> >>>>> *PREAMBLE:* >>>>> Ultimately, this might turn out to be one build 'bug' and one build >>>>> feature 'enhancement / change request', and perhaps I should submit >>>>> this >>>>> as two separate issues; however, they both relate to the same >>>>> problem: I >>>>> can't get Freetype2 to compile in Windows 7 x64 using Cygwin / GNU >>>>> Make >>>>> / MSVC 2008 or 2010. I'll wait to see what some initial responses are >>>>> before deciding how to proceed. >>>>> >>>>> I'm attempting to develop an automated build process for a Windows >>>>> application that requires the Freetype2 lib. The automated build >>>>> allows >>>>> for the selection of x86 / x64, MSVC 2008 / 2010, static / shared >>>>> libs, >>>>> and other options. To accommodate these options and simplify the build >>>>> process, I want to build all libs using the following steps, where all >>>>> the chosen build options are stored in var FLAGS... >>>>> >>>>> bash ./configure %FLAGS% >>>>> make >>>>> make install >>>>> >>>>> For most packages, this is working well; however, I'm really >>>>> struggling >>>>> with Freetype2. As noted in the two problem descriptions below, these >>>>> steps aren't working because the Freetype2 configure and makefiles >>>>> appear to be using absolute paths rather than relative paths (if I can >>>>> modify this one thing, I can get my preferred method above to work). >>>>> >>>>> Alternatively, running 'make setup visualc' is defaulting to unix >>>>> rather >>>>> than win32/visualc, and thus fails when it can't find a 'visualc' >>>>> target >>>>> in the unix makefile. Am I doing something wrong here by running "make >>>>> setup visualc" from the Freetype source directory, or has this >>>>> something >>>>> to do with having a Win x64 OS or using Cygwin bash? >>>>> >>>>> I'm unable to use the MSVC/SDK command line "vcbuild" tool with the >>>>> freetype.sln/vcproj files in this case due to the need to allow for >>>>> the >>>>> numerous possible build combinations. So the solution to either of the >>>>> following problems below will likely resolve the issue for me. >>>>> Preferably, I'd like to get a solution to problem #2 and change the >>>>> Freetype2 configure and makefiles to use relative- rather than >>>>> absolute >>>>> paths during the build process. Perhaps someone can explain to me the >>>>> choice to use absolute- over relative paths? >>>>> >>>>> >>>>> *PROBLEM #1:* >>>>> Running "make setup visualc", setup still detects as unix-based OS and >>>>> CC compiler rather than Win32 and CL compiler - although, configure >>>>> reports ' checking for cc...no' and 'checking for cl ... cl.exe' - and >>>>> eventually fails with the message "make: *** No rule to make target >>>>> `visualc'. Stop.". Is this because I've got a Win64 OS and am using >>>>> Cygwin bash? >>>>> >>>>> The unix build process doesn't have a visualc build process - duh, >>>>> it's >>>>> unix, not Windows - and the detect process is seeing my system as unix >>>>> rather than win32 even when I pass the visualc option to make >>>>> setup. So >>>>> I'm stumped here. How do I force the make setup process to detect as >>>>> win32 rather than unix? I suspect I need to follow the CUSTOMIZE >>>>> instructions, but I would think that the setup detect process would >>>>> see >>>>> my system as windows rather than unix. >>>>> >>>>> >>>>> *PROBLEM #2:* >>>>> The configure process for Freetype2 is using absolute paths rather >>>>> than >>>>> relative paths. This is a problem as ./configure is run in Cygwin >>>>> bash, >>>>> where paths are in the format "/cygdrive/c/..." but GNU Make is run >>>>> in a >>>>> Win CMD shell, where paths are in the format "C:\...". Ultimately, >>>>> when >>>>> GNU make is called, after ./configure completes, it fails immediately >>>>> because it sees the absolute path >>>>> '/cygdrive/c/.../freetype/src/base/ftsystem.c' as a switch (the >>>>> initial >>>>> forward slash) rather than as a path, which would fail anyway under >>>>> Windows CMD shell. If instead there was a relative path >>>>> 'src/base/ftsystem.c', things should work properly. Even running GNU >>>>> make under Cygwin, it still fails seeing the path as a switch because >>>>> it's not wrapped in quotes. >>>>> >>>>> Need an "easy" way to convert configure to utilize relative paths so >>>>> that it assumes it's running in the source base directory >>>>> 'freetype' and >>>>> everything else is accessed via './src/base', etc. I've passed the >>>>> CFG="--srcdir=." option to make setup as well as "--srcdir=." to >>>>> ./configure, but that didn't appear to work. I've also manually >>>>> changed >>>>> 'abs_curr_dir' var in configure to '.' and './' but neither of those >>>>> worked either. >>>>> >>>>> Thanks and regards, >>>>> >>>>> -RMWChaos >>>>> >>>>> >>>>> ------------------------------------------------------------------------ >>>>> >>>>> >>>>> _______________________________________________ >>>>> Freetype-devel mailing list >>>>> Freetype-devel@nongnu.org >>>>> https://lists.nongnu.org/mailman/listinfo/freetype-devel >>>> >> > _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel