diff --git a/DEVELOPERS-HINTS b/DEVELOPERS-HINTS index 7fbe725c425246869b8a4ac64cce3e391d60f94a..5bd25b5490d8c919b4dbfd4bf513e11cef35a860 100644 --- a/DEVELOPERS-HINTS +++ b/DEVELOPERS-HINTS @@ -80,6 +80,7 @@ DLLs (under dlls/): msacm/msadp32/ - MS ADPCM Audio Codec msacm/msg711/ - MS G711 Audio Codec (includes A-Law & MU-Law) msacm/winemp3/ - Mpeg Layer 3 Audio Codec + mscms/ - Color Management System msdmo/ - DirectX Media Objects mshtml/ - MS HTML component msi/ - Microsoft Installer diff --git a/configure b/configure index 8ebffe5194cabd10ec79de4266d9cd9bd12137be..9ee57ea08aec3314e7bccf8bc44cb01de8f22265 100755 --- a/configure +++ b/configure @@ -311,7 +311,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPPBIN ac_ct_CPPBIN TOOLSDIR CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LEX LEXLIB LEX_OUTPUT_ROOT XLEX BISON AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN EGREP LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT FONTFORGE LIBPTHREAD XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS GLUT_LIBS GLUT32FILES NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPELIBS FREETYPEINCL FONTSSUBDIRS ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS CAPI4LINUXLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDSHARED LDDLLFLAGS LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS LDLIBWINEFLAGS COREFOUNDATIONLIB IOKITLIB CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS SOCKETLIBS WINE_BINARIES MAIN_BINARY LDD ALLOCA LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPPBIN ac_ct_CPPBIN TOOLSDIR CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LEX LEXLIB LEX_OUTPUT_ROOT XLEX BISON AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN EGREP LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT FONTFORGE LIBPTHREAD XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS GLUT_LIBS GLUT32FILES NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPELIBS FREETYPEINCL FONTSSUBDIRS ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS LCMSLIBS CAPI4LINUXLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDSHARED LDDLLFLAGS LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS LDLIBWINEFLAGS COREFOUNDATIONLIB IOKITLIB CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS SOCKETLIBS WINE_BINARIES MAIN_BINARY LDD ALLOCA LIBOBJS LTLIBOBJS' ac_subst_files='MAKE_RULES MAKE_DLL_RULES MAKE_TEST_RULES MAKE_LIB_RULES MAKE_PROG_RULES' # Initialize some variables set by options. @@ -11629,6 +11629,231 @@ done +for ac_header in lcms.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------ ## +## Report this to wine-devel@winehq.org ## +## ------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + echo "$as_me:$LINENO: checking for cmsOpenProfileFromFile in -llcms" >&5 +echo $ECHO_N "checking for cmsOpenProfileFromFile in -llcms... $ECHO_C" >&6 +if test "${ac_cv_lib_lcms_cmsOpenProfileFromFile+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-llcms $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char cmsOpenProfileFromFile (); +int +main () +{ +cmsOpenProfileFromFile (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_lcms_cmsOpenProfileFromFile=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_lcms_cmsOpenProfileFromFile=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_lcms_cmsOpenProfileFromFile" >&5 +echo "${ECHO_T}$ac_cv_lib_lcms_cmsOpenProfileFromFile" >&6 +if test $ac_cv_lib_lcms_cmsOpenProfileFromFile = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LCMS 1 +_ACEOF + + LCMSLIBS="-llcms" + + +fi + + +fi + +done + + + + for ac_header in capi20.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -20032,7 +20257,7 @@ MAKE_LIB_RULES=libs/Makelib.rules MAKE_PROG_RULES=programs/Makeprog.rules - ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msacm/tests/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/secur32/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile" + ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msacm/tests/Makefile dlls/mscms/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/secur32/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile" cat >confcache <<\_ACEOF @@ -20649,6 +20874,7 @@ do "dlls/msacm/msg711/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/msacm/msg711/Makefile" ;; "dlls/msacm/winemp3/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/msacm/winemp3/Makefile" ;; "dlls/msacm/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/msacm/tests/Makefile" ;; + "dlls/mscms/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/mscms/Makefile" ;; "dlls/msdmo/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/msdmo/Makefile" ;; "dlls/mshtml/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/mshtml/Makefile" ;; "dlls/msi/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/msi/Makefile" ;; @@ -20992,6 +21218,7 @@ s,@ARTSLIBS@,$ARTSLIBS,;t t s,@ARTSINCL@,$ARTSINCL,;t t s,@ALSALIBS@,$ALSALIBS,;t t s,@AUDIOIOLIBS@,$AUDIOIOLIBS,;t t +s,@LCMSLIBS@,$LCMSLIBS,;t t s,@CAPI4LINUXLIBS@,$CAPI4LINUXLIBS,;t t s,@EXTRACFLAGS@,$EXTRACFLAGS,;t t s,@DLLEXT@,$DLLEXT,;t t diff --git a/configure.ac b/configure.ac index 8625ae35fa7cdf625a1f8d3db964b685f5b3d557..b4bb3a28cce973d6db857861357d605ec54ab8d2 100644 --- a/configure.ac +++ b/configure.ac @@ -631,6 +631,15 @@ AC_CHECK_HEADERS(libaudioio.h, [AUDIOIOLIBS="-laudioio" AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])]) +dnl **** Check for lcms **** + +AC_CHECK_HEADERS(lcms.h, + [AC_CHECK_LIB(lcms,cmsOpenProfileFromFile, + [AC_DEFINE(HAVE_LCMS,1,[Define if you have lcms libs and headers]) + AC_SUBST(LCMSLIBS,"-llcms") + ]) +]) + dnl **** Check for capi4linux **** AC_CHECK_HEADERS(capi20.h,[ @@ -1596,6 +1605,7 @@ dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msacm/tests/Makefile +dlls/mscms/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile diff --git a/dlls/Makefile.in b/dlls/Makefile.in index 7bee5fba39c93f23d2a31b266b1cac2303f34ba2..1246bd30008214ecc0a5a117ead0186db171a300 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -76,6 +76,7 @@ BASEDIRS = \ msacm/msadp32 \ msacm/msg711 \ msacm/winemp3 \ + mscms \ msdmo \ mshtml \ msi \ @@ -311,6 +312,7 @@ SYMLINKS_SO = \ msacm.drv.so \ msacm32.dll.so \ msadp32.acm.so \ + mscms.dll.so \ msdmo.dll.so \ msg711.acm.so \ mshtml.dll.so \ @@ -645,6 +647,9 @@ msacm.dll.so : msacm32.dll.so msadp32.acm.so: msacm/msadp32/msadp32.acm.so $(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.so $@ +mscms.dll.so: mscms/mscms.dll.so + $(RM) $@ && $(LN_S) mscms/mscms.dll.so $@ + msdmo.dll.so: msdmo/msdmo.dll.so $(RM) $@ && $(LN_S) msdmo/msdmo.dll.so $@ @@ -1025,6 +1030,7 @@ IMPORT_LIBS = \ libmlang.$(IMPLIBEXT) \ libmpr.$(IMPLIBEXT) \ libmsacm32.$(IMPLIBEXT) \ + libmscms.$(IMPLIBEXT) \ libmsdmo.$(IMPLIBEXT) \ libmshtml.$(IMPLIBEXT) \ libmsi.$(IMPLIBEXT) \ @@ -1389,6 +1395,11 @@ libmsacm32.def: msacm/msacm32.spec.def libmsacm32.a: msacm/msacm32.spec.def $(DLLTOOL) -k -l $@ -d msacm/msacm32.spec.def +libmscms.def: mscms/mscms.spec.def + $(RM) $@ && $(LN_S) mscms/mscms.spec.def $@ +libmscms.a: mscms/mscms.spec.def + $(DLLTOOL) -k -l $@ -d mscms/mscms.spec.def + libmsdmo.def: msdmo/msdmo.spec.def $(RM) $@ && $(LN_S) msdmo/msdmo.spec.def $@ libmsdmo.a: msdmo/msdmo.spec.def @@ -1777,6 +1788,7 @@ mapi32/mapi32.spec.def: $(WINEBUILD) mlang/mlang.spec.def: $(WINEBUILD) mpr/mpr.spec.def: $(WINEBUILD) msacm/msacm32.spec.def: $(WINEBUILD) +mscms/mscms.spec.def: $(WINEBUILD) msdmo/msdmo.spec.def: $(WINEBUILD) mshtml/mshtml.spec.def: $(WINEBUILD) msi/msi.spec.def: $(WINEBUILD) @@ -1921,6 +1933,7 @@ mpr/mpr.dll.so: mpr winmm/wavemap/msacm.drv.so: winmm/wavemap msacm/msacm32.dll.so: msacm msacm/msadp32/msadp32.acm.so: msacm/msadp32 +mscms/mscms.dll.so: mscms msdmo/msdmo.dll.so: msdmo msacm/msg711/msg711.acm.so: msacm/msg711 mshtml/mshtml.dll.so: mshtml diff --git a/dlls/mscms/.cvsignore b/dlls/mscms/.cvsignore new file mode 100644 index 0000000000000000000000000000000000000000..ae1007c4fe3b27267d831ac907e9234c9945b8b3 --- /dev/null +++ b/dlls/mscms/.cvsignore @@ -0,0 +1,3 @@ +Makefile +mscms.dll.dbg.c +mscms.spec.def diff --git a/dlls/mscms/Makefile.in b/dlls/mscms/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..cd2acdb53ca396a4ee3dd9da80a426867efcff62 --- /dev/null +++ b/dlls/mscms/Makefile.in @@ -0,0 +1,14 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = mscms.dll +IMPORTS = kernel32 +EXTRALIBS = @LCMSLIBS@ + +C_SRCS = \ + mscms_main.c + +@MAKE_DLL_RULES@ + +### Dependencies: diff --git a/dlls/mscms/mscms.spec b/dlls/mscms/mscms.spec new file mode 100644 index 0000000000000000000000000000000000000000..065ac89972d75b1d00d5a8e69b4fa9c4e3b8fa14 --- /dev/null +++ b/dlls/mscms/mscms.spec @@ -0,0 +1,61 @@ +@ stub AssociateColorProfileWithDeviceA +@ stub AssociateColorProfileWithDeviceW +@ stub CheckBitmapBits +@ stub CheckColors +@ stdcall CloseColorProfile(ptr) +@ stub ConvertColorNameToIndex +@ stub ConvertIndexToColorName +@ stub CreateColorTransformA +@ stub CreateColorTransformW +@ stub CreateDeviceLinkProfile +@ stub CreateMultiProfileTransform +@ stub CreateProfileFromLogColorSpaceA +@ stub CreateProfileFromLogColorSpaceW +@ stub DeleteColorTransform +@ stub DisassociateColorProfileFromDeviceA +@ stub DisassociateColorProfileFromDeviceW +@ stub EnumColorProfilesA +@ stub EnumColorProfilesW +@ stub GenerateCopyFilePaths +@ stub GetCMMInfo +@ stub GetColorDirectoryA +@ stub GetColorDirectoryW +@ stub GetColorProfileElement +@ stub GetColorProfileElementTag +@ stub GetColorProfileFromHandle +@ stub GetColorProfileHeader +@ stub GetCountColorProfileElements +@ stub GetNamedProfileInfo +@ stub GetPS2ColorRenderingDictionary +@ stub GetPS2ColorRenderingIntent +@ stub GetPS2ColorSpaceArray +@ stub GetStandardColorSpaceProfileA +@ stub GetStandardColorSpaceProfileW +@ stub InstallColorProfileA +@ stub InstallColorProfileW +@ stub InternalGetDeviceConfig +@ stub InternalGetPS2CSAFromLCS +@ stub InternalGetPS2ColorRenderingDictionary +@ stub InternalGetPS2ColorSpaceArray +@ stub InternalGetPS2PreviewCRD +@ stub InternalSetDeviceConfig +@ stub IsColorProfileTagPresent +@ stub IsColorProfileValid +@ stdcall OpenColorProfileA(ptr long long long) +@ stdcall OpenColorProfileW(ptr long long long) +@ stub RegisterCMMA +@ stub RegisterCMMW +@ stub SelectCMM +@ stub SetColorProfileElement +@ stub SetColorProfileElementReference +@ stub SetColorProfileElementSize +@ stub SetColorProfileHeader +@ stub SetStandardColorSpaceProfileA +@ stub SetStandardColorSpaceProfileW +@ stub SpoolerCopyFileEvent +@ stub TranslateBitmapBits +@ stub TranslateColors +@ stub UninstallColorProfileA +@ stub UninstallColorProfileW +@ stub UnregisterCMMA +@ stub UnregisterCMMW diff --git a/dlls/mscms/mscms_main.c b/dlls/mscms/mscms_main.c new file mode 100644 index 0000000000000000000000000000000000000000..e4757d859e6e129a970993593d9ab0a5565aa664 --- /dev/null +++ b/dlls/mscms/mscms_main.c @@ -0,0 +1,96 @@ +/* + * MSCMS - Color Management System for Wine + * + * Copyright 2004 Hans Leidekker + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "config.h" + +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "icm.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(mscms); + +#ifdef HAVE_LCMS + +/* These basic Windows types are defined in lcms.h when compiling on + * a non-Windows platforms (why?), so they would normally not conflict + * with anything included earlier. But since we are building Wine they + * most certainly will have been defined before we include lcms.h. + * The preprocessor comes to the rescue. + */ + +#define BYTE LCMS_BYTE +#define LPBYTE LCMS_LPBYTE +#define WORD LCMS_WORD +#define LPWORD LCMS_LPWORD +#define DWORD LCMS_DWORD +#define LPDWORD LCMS_LPDWORD +#define BOOL LCMS_BOOL +#define LPSTR LCMS_LPSTR +#define LPVOID LCMS_LPVOID + +#undef cdecl +#undef FAR + +#undef ZeroMemory +#undef CopyMemory + +#undef LOWORD +#undef MAX_PATH + +#include <lcms.h> + +/* Funny thing is lcms.h defines DWORD as an 'unsigned int' whereas Wine + * defines it as an 'unsigned long'. To avoid compiler warnings we use a + * preprocessor define for DWORD and LPDWORD to get back Wine's orginal + * (typedef) definitions. + */ + +#undef DWORD +#undef LPDWORD + +#define DWORD DWORD +#define LPDWORD LPDWORD + +#endif + +HPROFILE WINAPI OpenColorProfileA( PPROFILE profile, DWORD access, DWORD sharing, DWORD creation ) +{ + FIXME("( %p, %lx, %lx, %lx ) stub!\n", profile, access, sharing, creation ); + + return NULL; +} + +HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing, DWORD creation ) +{ + FIXME("( %p, %lx, %lx, %lx ) stub!\n", profile, access, sharing, creation ); + + return NULL; +} + +BOOL WINAPI CloseColorProfile( HPROFILE profile ) +{ + FIXME("( %p ) stub!\n", profile ); + + return FALSE; +} diff --git a/include/config.h.in b/include/config.h.in index c0d43d7e72b6a876340d45608e0c528df41e75df..694f1527dc9718880e70c5bfce795f3b56284ea3 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -239,6 +239,12 @@ /* Define to 1 if you have the <jpeglib.h> header file. */ #undef HAVE_JPEGLIB_H +/* Define if you have lcms libs and headers */ +#undef HAVE_LCMS + +/* Define to 1 if you have the <lcms.h> header file. */ +#undef HAVE_LCMS_H + /* Define if you have libaudioIO */ #undef HAVE_LIBAUDIOIO diff --git a/include/icm.h b/include/icm.h index b2ff70cbb30364aa9e645ff392681bdba8c67b2d..7d71f57a331223b98846330dad4b736a8dd962a6 100644 --- a/include/icm.h +++ b/include/icm.h @@ -98,6 +98,14 @@ typedef struct tagPROFILE { DWORD cbDataSize; } PROFILE, *PPROFILE, *LPPROFILE; +HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD); +HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD); +#define OpenColorProfile WINELIB_NAME_AW(OpenColorProfile) +BOOL WINAPI CloseColorProfile(HPROFILE); + +#define PROFILE_FILENAME 1 +#define PROFILE_MEMBUFFER 2 + #ifdef __cplusplus } #endif