From e2db7946309fe7f2b43258cc8b838119f5baca25 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sun, 12 Jun 2011 11:41:43 +0200 Subject: [PATCH] makefiles: Add a more generic handling of makefile generation flags. --- aclocal.m4 | 20 ++++++----- configure | 98 +++++++++++++++++++++++++++------------------------- configure.ac | 94 ++++++++++++++++++++++++------------------------- tools/make_makefiles | 46 +++++++++++++----------- 4 files changed, 136 insertions(+), 122 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index ca227f45792..86ba73b912b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -203,6 +203,7 @@ wine_fn_config_makefile () { ac_dir=$[1] ac_enable=$[2] + ac_flags=$[3] AS_VAR_IF([$ac_enable],[no],[return 0]) wine_fn_all_dir_rules $ac_dir Make.rules @@ -224,6 +225,7 @@ uninstall:: $ac_dir/Makefile wine_fn_config_lib () { ac_name=$[1] + ac_flags=$[2] ac_dir=dlls/$ac_name wine_fn_all_dir_rules $ac_dir dlls/Makeimplib.rules wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ @@ -390,6 +392,7 @@ wine_fn_config_test () { ac_dir=$[1] ac_name=$[2] + ac_flags=$[3] wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res wine_fn_all_dir_rules $ac_dir Maketest.rules @@ -419,6 +422,7 @@ $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy wine_fn_config_tool () { ac_dir=$[1] + ac_flags=$[2] AS_VAR_IF([enable_tools],[no],[return 0]) wine_fn_all_dir_rules $ac_dir Make.rules @@ -517,11 +521,11 @@ AC_CONFIG_FILES([$1])]) dnl **** Create a makefile from config.status **** dnl -dnl Usage: WINE_CONFIG_MAKEFILE(file,enable) +dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags) dnl AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl -wine_fn_config_makefile [$1] ac_enable[]dnl +wine_fn_config_makefile [$1] ac_enable [$3]dnl AS_VAR_POPDEF([ac_enable])]) dnl **** Create a dll makefile from config.status **** @@ -544,28 +548,28 @@ AS_VAR_POPDEF([ac_enable])]) dnl **** Create a test makefile from config.status **** dnl -dnl Usage: WINE_CONFIG_TEST(dir) +dnl Usage: WINE_CONFIG_TEST(dir,flags) dnl AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl -wine_fn_config_test $1 ac_name[]ac_suffix[]dnl +wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl m4_popdef([ac_suffix])dnl m4_popdef([ac_name])]) dnl **** Create a static lib makefile from config.status **** dnl -dnl Usage: WINE_CONFIG_LIB(name) +dnl Usage: WINE_CONFIG_LIB(name,flags) dnl AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl -wine_fn_config_lib $1]) +wine_fn_config_lib [$1] [$2]]) dnl **** Create a tool makefile from config.status **** dnl -dnl Usage: WINE_CONFIG_TOOL(name) +dnl Usage: WINE_CONFIG_TOOL(name,flags) dnl AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl -wine_fn_config_tool $1]) +wine_fn_config_tool [$1] [$2]]) dnl **** Add a message to the list displayed at the end **** dnl diff --git a/configure b/configure index 0603e8fc9b5..700069d8765 100755 --- a/configure +++ b/configure @@ -14568,6 +14568,7 @@ wine_fn_config_makefile () { ac_dir=$1 ac_enable=$2 + ac_flags=$3 if eval test \"x\$"$ac_enable"\" = x"no"; then : return 0 fi @@ -14591,6 +14592,7 @@ uninstall:: $ac_dir/Makefile wine_fn_config_lib () { ac_name=$1 + ac_flags=$2 ac_dir=dlls/$ac_name wine_fn_all_dir_rules $ac_dir dlls/Makeimplib.rules wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ @@ -14762,6 +14764,7 @@ wine_fn_config_test () { ac_dir=$1 ac_name=$2 + ac_flags=$3 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res wine_fn_all_dir_rules $ac_dir Maketest.rules @@ -14795,6 +14798,7 @@ fi wine_fn_config_tool () { ac_dir=$1 + ac_flags=$2 if test "x$enable_tools" = xno; then : return 0 fi @@ -14935,7 +14939,7 @@ wine_fn_config_dll atl enable_atl implib wine_fn_config_test dlls/atl/tests atl_test wine_fn_config_dll authz enable_authz wine_fn_config_dll avicap32 enable_avicap32 implib -wine_fn_config_dll avifil32 enable_avifil32 po,implib +wine_fn_config_dll avifil32 enable_avifil32 implib,po wine_fn_config_test dlls/avifil32/tests avifil32_test wine_fn_config_dll avifile.dll16 enable_win16 wine_fn_config_dll avrt enable_avrt implib @@ -14950,24 +14954,24 @@ wine_fn_config_dll cfgmgr32 enable_cfgmgr32 implib wine_fn_config_dll clusapi enable_clusapi implib wine_fn_config_dll comcat enable_comcat wine_fn_config_test dlls/comcat/tests comcat_test -wine_fn_config_dll comctl32 enable_comctl32 po,implib +wine_fn_config_dll comctl32 enable_comctl32 implib,po wine_fn_config_test dlls/comctl32/tests comctl32_test -wine_fn_config_dll comdlg32 enable_comdlg32 po,implib +wine_fn_config_dll comdlg32 enable_comdlg32 implib,po wine_fn_config_test dlls/comdlg32/tests comdlg32_test wine_fn_config_dll comm.drv16 enable_win16 wine_fn_config_dll commdlg.dll16 enable_win16 wine_fn_config_dll compobj.dll16 enable_win16 wine_fn_config_dll compstui enable_compstui implib -wine_fn_config_dll credui enable_credui po,implib +wine_fn_config_dll credui enable_credui implib,po wine_fn_config_test dlls/credui/tests credui_test wine_fn_config_dll crtdll enable_crtdll implib -wine_fn_config_dll crypt32 enable_crypt32 po,implib +wine_fn_config_dll crypt32 enable_crypt32 implib,po wine_fn_config_test dlls/crypt32/tests crypt32_test wine_fn_config_dll cryptdlg enable_cryptdlg po wine_fn_config_dll cryptdll enable_cryptdll implib wine_fn_config_dll cryptnet enable_cryptnet implib wine_fn_config_test dlls/cryptnet/tests cryptnet_test -wine_fn_config_dll cryptui enable_cryptui po,implib +wine_fn_config_dll cryptui enable_cryptui implib,po wine_fn_config_test dlls/cryptui/tests cryptui_test wine_fn_config_dll ctapi32 enable_ctapi32 wine_fn_config_dll ctl3d.dll16 enable_win16 @@ -15132,7 +15136,7 @@ wine_fn_config_dll itss enable_itss wine_fn_config_test dlls/itss/tests itss_test wine_fn_config_dll jscript enable_jscript po wine_fn_config_test dlls/jscript/tests jscript_test -wine_fn_config_dll kernel32 enable_kernel32 mc,implib +wine_fn_config_dll kernel32 enable_kernel32 implib,mc wine_fn_config_test dlls/kernel32/tests kernel32_test wine_fn_config_dll keyboard.drv16 enable_win16 wine_fn_config_dll krnl386.exe16 enable_win16 implib kernel @@ -15145,7 +15149,7 @@ wine_fn_config_test dlls/localui/tests localui_test wine_fn_config_dll lz32 enable_lz32 implib wine_fn_config_test dlls/lz32/tests lz32_test wine_fn_config_dll lzexpand.dll16 enable_win16 -wine_fn_config_dll mapi32 enable_mapi32 po,implib +wine_fn_config_dll mapi32 enable_mapi32 implib,po wine_fn_config_test dlls/mapi32/tests mapi32_test wine_fn_config_dll mapistub enable_mapistub wine_fn_config_dll mciavi32 enable_mciavi32 @@ -15163,7 +15167,7 @@ wine_fn_config_dll mmsystem.dll16 enable_win16 wine_fn_config_dll monodebg.vxd enable_win16 wine_fn_config_dll mountmgr.sys enable_mountmgr_sys wine_fn_config_dll mouse.drv16 enable_win16 -wine_fn_config_dll mpr enable_mpr po,implib +wine_fn_config_dll mpr enable_mpr implib,po wine_fn_config_dll mprapi enable_mprapi implib wine_fn_config_dll msacm.dll16 enable_win16 wine_fn_config_dll msacm32.drv enable_msacm32_drv @@ -15183,9 +15187,9 @@ wine_fn_config_dll msftedit enable_msftedit wine_fn_config_dll msg711.acm enable_msg711_acm wine_fn_config_dll msgsm32.acm enable_msgsm32_acm wine_fn_config_dll mshtml.tlb enable_mshtml_tlb -wine_fn_config_dll mshtml enable_mshtml po,implib +wine_fn_config_dll mshtml enable_mshtml implib,po wine_fn_config_test dlls/mshtml/tests mshtml_test -wine_fn_config_dll msi enable_msi po,implib +wine_fn_config_dll msi enable_msi implib,po wine_fn_config_test dlls/msi/tests msi_test wine_fn_config_dll msimg32 enable_msimg32 implib wine_fn_config_dll msimsg enable_msimsg @@ -15219,7 +15223,7 @@ wine_fn_config_dll msvcrt20 enable_msvcrt20 implib wine_fn_config_dll msvcrt40 enable_msvcrt40 implib wine_fn_config_dll msvcrtd enable_msvcrtd implib wine_fn_config_test dlls/msvcrtd/tests msvcrtd_test -wine_fn_config_dll msvfw32 enable_msvfw32 po,implib +wine_fn_config_dll msvfw32 enable_msvfw32 implib,po wine_fn_config_test dlls/msvfw32/tests msvfw32_test wine_fn_config_dll msvidc32 enable_msvidc32 po wine_fn_config_dll msvideo.dll16 enable_win16 @@ -15255,15 +15259,15 @@ wine_fn_config_dll ole2prox.dll16 enable_win16 wine_fn_config_dll ole2thk.dll16 enable_win16 wine_fn_config_dll ole32 enable_ole32 implib wine_fn_config_test dlls/ole32/tests ole32_test -wine_fn_config_dll oleacc enable_oleacc po,implib +wine_fn_config_dll oleacc enable_oleacc implib,po wine_fn_config_test dlls/oleacc/tests oleacc_test -wine_fn_config_dll oleaut32 enable_oleaut32 po,implib +wine_fn_config_dll oleaut32 enable_oleaut32 implib,po wine_fn_config_test dlls/oleaut32/tests oleaut32_test wine_fn_config_dll olecli.dll16 enable_win16 wine_fn_config_dll olecli32 enable_olecli32 implib wine_fn_config_dll oledb32 enable_oledb32 wine_fn_config_test dlls/oledb32/tests oledb32_test -wine_fn_config_dll oledlg enable_oledlg po,implib +wine_fn_config_dll oledlg enable_oledlg implib,po wine_fn_config_dll olepro32 enable_olepro32 implib wine_fn_config_dll olesvr.dll16 enable_win16 wine_fn_config_dll olesvr32 enable_olesvr32 implib @@ -15320,19 +15324,19 @@ wine_fn_config_dll security enable_security wine_fn_config_dll sensapi enable_sensapi implib wine_fn_config_dll serialui enable_serialui implib wine_fn_config_test dlls/serialui/tests serialui_test -wine_fn_config_dll setupapi enable_setupapi po,implib +wine_fn_config_dll setupapi enable_setupapi implib,po wine_fn_config_test dlls/setupapi/tests setupapi_test wine_fn_config_dll setupx.dll16 enable_win16 wine_fn_config_dll sfc enable_sfc implib wine_fn_config_dll sfc_os enable_sfc_os implib wine_fn_config_dll shdoclc enable_shdoclc po -wine_fn_config_dll shdocvw enable_shdocvw po,implib +wine_fn_config_dll shdocvw enable_shdocvw implib,po wine_fn_config_test dlls/shdocvw/tests shdocvw_test wine_fn_config_dll shell.dll16 enable_win16 -wine_fn_config_dll shell32 enable_shell32 po,implib +wine_fn_config_dll shell32 enable_shell32 implib,po wine_fn_config_test dlls/shell32/tests shell32_test wine_fn_config_dll shfolder enable_shfolder implib -wine_fn_config_dll shlwapi enable_shlwapi po,implib +wine_fn_config_dll shlwapi enable_shlwapi implib,po wine_fn_config_test dlls/shlwapi/tests shlwapi_test wine_fn_config_dll slbcsp enable_slbcsp wine_fn_config_dll slc enable_slc implib @@ -15368,7 +15372,7 @@ wine_fn_config_dll urlmon enable_urlmon implib wine_fn_config_test dlls/urlmon/tests urlmon_test wine_fn_config_dll usbd.sys enable_usbd_sys implib wine_fn_config_dll user.exe16 enable_win16 -wine_fn_config_dll user32 enable_user32 po,implib +wine_fn_config_dll user32 enable_user32 implib,po wine_fn_config_test dlls/user32/tests user32_test wine_fn_config_dll userenv enable_userenv implib wine_fn_config_test dlls/userenv/tests userenv_test @@ -15421,15 +15425,15 @@ wine_fn_config_dll wing.dll16 enable_win16 wine_fn_config_dll wing32 enable_wing32 wine_fn_config_dll winhttp enable_winhttp implib wine_fn_config_test dlls/winhttp/tests winhttp_test -wine_fn_config_dll wininet enable_wininet po,implib +wine_fn_config_dll wininet enable_wininet implib,po wine_fn_config_test dlls/wininet/tests wininet_test -wine_fn_config_dll winmm enable_winmm po,implib +wine_fn_config_dll winmm enable_winmm implib,po wine_fn_config_test dlls/winmm/tests winmm_test wine_fn_config_dll winnls.dll16 enable_win16 wine_fn_config_dll winnls32 enable_winnls32 implib wine_fn_config_dll winscard enable_winscard implib wine_fn_config_dll winsock.dll16 enable_win16 -wine_fn_config_dll winspool.drv enable_winspool_drv po,implib winspool +wine_fn_config_dll winspool.drv enable_winspool_drv implib,po winspool wine_fn_config_test dlls/winspool.drv/tests winspool.drv_test wine_fn_config_dll winsta enable_winsta wine_fn_config_dll wintab.dll16 enable_win16 @@ -15438,7 +15442,7 @@ wine_fn_config_test dlls/wintab32/tests wintab32_test wine_fn_config_dll wintrust enable_wintrust implib wine_fn_config_test dlls/wintrust/tests wintrust_test wine_fn_config_dll wlanapi enable_wlanapi -wine_fn_config_dll wldap32 enable_wldap32 po,implib +wine_fn_config_dll wldap32 enable_wldap32 implib,po wine_fn_config_test dlls/wldap32/tests wldap32_test wine_fn_config_dll wmi enable_wmi wine_fn_config_dll wmiutils enable_wmiutils @@ -15469,8 +15473,8 @@ wine_fn_config_program aspnet_regiis enable_aspnet_regiis install wine_fn_config_program attrib enable_attrib install wine_fn_config_program cabarc enable_cabarc install wine_fn_config_program cacls enable_cacls install -wine_fn_config_program clock enable_clock po,install -wine_fn_config_program cmd enable_cmd po,install +wine_fn_config_program clock enable_clock install,po +wine_fn_config_program cmd enable_cmd install,po wine_fn_config_test programs/cmd/tests cmd.exe_test wine_fn_config_program cmdlgtst enable_cmdlgtst wine_fn_config_program control enable_control install @@ -15480,24 +15484,24 @@ wine_fn_config_program expand enable_expand install wine_fn_config_program explorer enable_explorer install wine_fn_config_program extrac32 enable_extrac32 install wine_fn_config_program hh enable_hh install -wine_fn_config_program hostname enable_hostname po,install +wine_fn_config_program hostname enable_hostname install,po wine_fn_config_program icinfo enable_icinfo install wine_fn_config_program iexplore enable_iexplore install -wine_fn_config_program ipconfig enable_ipconfig po,install +wine_fn_config_program ipconfig enable_ipconfig install,po wine_fn_config_program lodctr enable_lodctr install wine_fn_config_program mofcomp enable_mofcomp install wine_fn_config_program mshta enable_mshta install wine_fn_config_program msiexec enable_msiexec install,installbin -wine_fn_config_program net enable_net po,install +wine_fn_config_program net enable_net install,po wine_fn_config_program netsh enable_netsh install wine_fn_config_program ngen enable_ngen install -wine_fn_config_program notepad enable_notepad po,install,installbin -wine_fn_config_program oleview enable_oleview po,install +wine_fn_config_program notepad enable_notepad install,installbin,po +wine_fn_config_program oleview enable_oleview install,po wine_fn_config_program ping enable_ping install wine_fn_config_program plugplay enable_plugplay install -wine_fn_config_program progman enable_progman po,install -wine_fn_config_program reg enable_reg po,install -wine_fn_config_program regedit enable_regedit po,install,installbin +wine_fn_config_program progman enable_progman install,po +wine_fn_config_program reg enable_reg install,po +wine_fn_config_program regedit enable_regedit install,installbin,po wine_fn_config_test programs/regedit/tests regedit.exe_test wine_fn_config_program regsvcs enable_regsvcs install wine_fn_config_program regsvr32 enable_regsvr32 install,installbin @@ -15509,37 +15513,37 @@ wine_fn_config_program secedit enable_secedit install wine_fn_config_program servicemodelreg enable_servicemodelreg install wine_fn_config_program services enable_services install wine_fn_config_program spoolsv enable_spoolsv install -wine_fn_config_program start enable_start po,install +wine_fn_config_program start enable_start install,po wine_fn_config_program svchost enable_svchost install -wine_fn_config_program taskkill enable_taskkill po,install -wine_fn_config_program taskmgr enable_taskmgr po,install +wine_fn_config_program taskkill enable_taskkill install,po +wine_fn_config_program taskmgr enable_taskmgr install,po wine_fn_config_program termsv enable_termsv install -wine_fn_config_program uninstaller enable_uninstaller po,install +wine_fn_config_program uninstaller enable_uninstaller install,po wine_fn_config_program unlodctr enable_unlodctr install wine_fn_config_program view enable_view po wine_fn_config_program wineboot enable_wineboot install,installbin wine_fn_config_program winebrowser enable_winebrowser install -wine_fn_config_program winecfg enable_winecfg po,install,installbin -wine_fn_config_program wineconsole enable_wineconsole po,install,installbin -wine_fn_config_program winedbg enable_winedbg po,install,installbin +wine_fn_config_program winecfg enable_winecfg install,installbin,po +wine_fn_config_program wineconsole enable_wineconsole install,installbin,po +wine_fn_config_program winedbg enable_winedbg install,installbin,po wine_fn_config_program winedevice enable_winedevice install -wine_fn_config_program winefile enable_winefile po,install,installbin +wine_fn_config_program winefile enable_winefile install,installbin,po wine_fn_config_program winemenubuilder enable_winemenubuilder install -wine_fn_config_program winemine enable_winemine po,install,installbin +wine_fn_config_program winemine enable_winemine install,installbin,po wine_fn_config_program winemsibuilder enable_winemsibuilder install wine_fn_config_program winepath enable_winepath install,installbin wine_fn_config_program winetest enable_winetest wine_fn_config_program winevdm enable_win16 install wine_fn_config_program winhelp.exe16 enable_win16 install -wine_fn_config_program winhlp32 enable_winhlp32 po,install +wine_fn_config_program winhlp32 enable_winhlp32 install,po wine_fn_config_program winoldap.mod16 enable_win16 install wine_fn_config_program winver enable_winver install wine_fn_config_program wmic enable_wmic install -wine_fn_config_program wordpad enable_wordpad po,install -wine_fn_config_program write enable_write po,install +wine_fn_config_program wordpad enable_wordpad install,po +wine_fn_config_program write enable_write install,po wine_fn_config_program wscript enable_wscript install wine_fn_config_test programs/wscript/tests wscript.exe_test -wine_fn_config_program xcopy enable_xcopy po,install +wine_fn_config_program xcopy enable_xcopy install,po wine_fn_config_makefile server enable_server wine_fn_config_tool tools wine_fn_config_tool tools/widl diff --git a/configure.ac b/configure.ac index 683bae9e31d..04166e12b0e 100644 --- a/configure.ac +++ b/configure.ac @@ -2404,7 +2404,7 @@ WINE_CONFIG_DLL(atl,,[implib]) WINE_CONFIG_TEST(dlls/atl/tests) WINE_CONFIG_DLL(authz) WINE_CONFIG_DLL(avicap32,,[implib]) -WINE_CONFIG_DLL(avifil32,,[po,implib]) +WINE_CONFIG_DLL(avifil32,,[implib,po]) WINE_CONFIG_TEST(dlls/avifil32/tests) WINE_CONFIG_DLL(avifile.dll16,enable_win16) WINE_CONFIG_DLL(avrt,,[implib]) @@ -2419,24 +2419,24 @@ WINE_CONFIG_DLL(cfgmgr32,,[implib]) WINE_CONFIG_DLL(clusapi,,[implib]) WINE_CONFIG_DLL(comcat) WINE_CONFIG_TEST(dlls/comcat/tests) -WINE_CONFIG_DLL(comctl32,,[po,implib]) +WINE_CONFIG_DLL(comctl32,,[implib,po]) WINE_CONFIG_TEST(dlls/comctl32/tests) -WINE_CONFIG_DLL(comdlg32,,[po,implib]) +WINE_CONFIG_DLL(comdlg32,,[implib,po]) WINE_CONFIG_TEST(dlls/comdlg32/tests) WINE_CONFIG_DLL(comm.drv16,enable_win16) WINE_CONFIG_DLL(commdlg.dll16,enable_win16) WINE_CONFIG_DLL(compobj.dll16,enable_win16) WINE_CONFIG_DLL(compstui,,[implib]) -WINE_CONFIG_DLL(credui,,[po,implib]) +WINE_CONFIG_DLL(credui,,[implib,po]) WINE_CONFIG_TEST(dlls/credui/tests) WINE_CONFIG_DLL(crtdll,,[implib]) -WINE_CONFIG_DLL(crypt32,,[po,implib]) +WINE_CONFIG_DLL(crypt32,,[implib,po]) WINE_CONFIG_TEST(dlls/crypt32/tests) WINE_CONFIG_DLL(cryptdlg,,[po]) WINE_CONFIG_DLL(cryptdll,,[implib]) WINE_CONFIG_DLL(cryptnet,,[implib]) WINE_CONFIG_TEST(dlls/cryptnet/tests) -WINE_CONFIG_DLL(cryptui,,[po,implib]) +WINE_CONFIG_DLL(cryptui,,[implib,po]) WINE_CONFIG_TEST(dlls/cryptui/tests) WINE_CONFIG_DLL(ctapi32) WINE_CONFIG_DLL(ctl3d.dll16,enable_win16) @@ -2601,7 +2601,7 @@ WINE_CONFIG_DLL(itss) WINE_CONFIG_TEST(dlls/itss/tests) WINE_CONFIG_DLL(jscript,,[po]) WINE_CONFIG_TEST(dlls/jscript/tests) -WINE_CONFIG_DLL(kernel32,,[mc,implib]) +WINE_CONFIG_DLL(kernel32,,[implib,mc]) WINE_CONFIG_TEST(dlls/kernel32/tests) WINE_CONFIG_DLL(keyboard.drv16,enable_win16) WINE_CONFIG_DLL(krnl386.exe16,enable_win16,[implib],[kernel]) @@ -2614,7 +2614,7 @@ WINE_CONFIG_TEST(dlls/localui/tests) WINE_CONFIG_DLL(lz32,,[implib]) WINE_CONFIG_TEST(dlls/lz32/tests) WINE_CONFIG_DLL(lzexpand.dll16,enable_win16) -WINE_CONFIG_DLL(mapi32,,[po,implib]) +WINE_CONFIG_DLL(mapi32,,[implib,po]) WINE_CONFIG_TEST(dlls/mapi32/tests) WINE_CONFIG_DLL(mapistub) WINE_CONFIG_DLL(mciavi32) @@ -2632,7 +2632,7 @@ WINE_CONFIG_DLL(mmsystem.dll16,enable_win16) WINE_CONFIG_DLL(monodebg.vxd,enable_win16) WINE_CONFIG_DLL(mountmgr.sys) WINE_CONFIG_DLL(mouse.drv16,enable_win16) -WINE_CONFIG_DLL(mpr,,[po,implib]) +WINE_CONFIG_DLL(mpr,,[implib,po]) WINE_CONFIG_DLL(mprapi,,[implib]) WINE_CONFIG_DLL(msacm.dll16,enable_win16) WINE_CONFIG_DLL(msacm32.drv) @@ -2652,9 +2652,9 @@ WINE_CONFIG_DLL(msftedit) WINE_CONFIG_DLL(msg711.acm) WINE_CONFIG_DLL(msgsm32.acm) WINE_CONFIG_DLL(mshtml.tlb) -WINE_CONFIG_DLL(mshtml,,[po,implib]) +WINE_CONFIG_DLL(mshtml,,[implib,po]) WINE_CONFIG_TEST(dlls/mshtml/tests) -WINE_CONFIG_DLL(msi,,[po,implib]) +WINE_CONFIG_DLL(msi,,[implib,po]) WINE_CONFIG_TEST(dlls/msi/tests) WINE_CONFIG_DLL(msimg32,,[implib]) WINE_CONFIG_DLL(msimsg) @@ -2688,7 +2688,7 @@ WINE_CONFIG_DLL(msvcrt20,,[implib]) WINE_CONFIG_DLL(msvcrt40,,[implib]) WINE_CONFIG_DLL(msvcrtd,,[implib]) WINE_CONFIG_TEST(dlls/msvcrtd/tests) -WINE_CONFIG_DLL(msvfw32,,[po,implib]) +WINE_CONFIG_DLL(msvfw32,,[implib,po]) WINE_CONFIG_TEST(dlls/msvfw32/tests) WINE_CONFIG_DLL(msvidc32,,[po]) WINE_CONFIG_DLL(msvideo.dll16,enable_win16) @@ -2724,15 +2724,15 @@ WINE_CONFIG_DLL(ole2prox.dll16,enable_win16) WINE_CONFIG_DLL(ole2thk.dll16,enable_win16) WINE_CONFIG_DLL(ole32,,[implib]) WINE_CONFIG_TEST(dlls/ole32/tests) -WINE_CONFIG_DLL(oleacc,,[po,implib]) +WINE_CONFIG_DLL(oleacc,,[implib,po]) WINE_CONFIG_TEST(dlls/oleacc/tests) -WINE_CONFIG_DLL(oleaut32,,[po,implib]) +WINE_CONFIG_DLL(oleaut32,,[implib,po]) WINE_CONFIG_TEST(dlls/oleaut32/tests) WINE_CONFIG_DLL(olecli.dll16,enable_win16) WINE_CONFIG_DLL(olecli32,,[implib]) WINE_CONFIG_DLL(oledb32) WINE_CONFIG_TEST(dlls/oledb32/tests) -WINE_CONFIG_DLL(oledlg,,[po,implib]) +WINE_CONFIG_DLL(oledlg,,[implib,po]) WINE_CONFIG_DLL(olepro32,,[implib]) WINE_CONFIG_DLL(olesvr.dll16,enable_win16) WINE_CONFIG_DLL(olesvr32,,[implib]) @@ -2789,19 +2789,19 @@ WINE_CONFIG_DLL(security) WINE_CONFIG_DLL(sensapi,,[implib]) WINE_CONFIG_DLL(serialui,,[implib]) WINE_CONFIG_TEST(dlls/serialui/tests) -WINE_CONFIG_DLL(setupapi,,[po,implib]) +WINE_CONFIG_DLL(setupapi,,[implib,po]) WINE_CONFIG_TEST(dlls/setupapi/tests) WINE_CONFIG_DLL(setupx.dll16,enable_win16) WINE_CONFIG_DLL(sfc,,[implib]) WINE_CONFIG_DLL(sfc_os,,[implib]) WINE_CONFIG_DLL(shdoclc,,[po]) -WINE_CONFIG_DLL(shdocvw,,[po,implib]) +WINE_CONFIG_DLL(shdocvw,,[implib,po]) WINE_CONFIG_TEST(dlls/shdocvw/tests) WINE_CONFIG_DLL(shell.dll16,enable_win16) -WINE_CONFIG_DLL(shell32,,[po,implib]) +WINE_CONFIG_DLL(shell32,,[implib,po]) WINE_CONFIG_TEST(dlls/shell32/tests) WINE_CONFIG_DLL(shfolder,,[implib]) -WINE_CONFIG_DLL(shlwapi,,[po,implib]) +WINE_CONFIG_DLL(shlwapi,,[implib,po]) WINE_CONFIG_TEST(dlls/shlwapi/tests) WINE_CONFIG_DLL(slbcsp) WINE_CONFIG_DLL(slc,,[implib]) @@ -2837,7 +2837,7 @@ WINE_CONFIG_DLL(urlmon,,[implib]) WINE_CONFIG_TEST(dlls/urlmon/tests) WINE_CONFIG_DLL(usbd.sys,,[implib]) WINE_CONFIG_DLL(user.exe16,enable_win16) -WINE_CONFIG_DLL(user32,,[po,implib]) +WINE_CONFIG_DLL(user32,,[implib,po]) WINE_CONFIG_TEST(dlls/user32/tests) WINE_CONFIG_DLL(userenv,,[implib]) WINE_CONFIG_TEST(dlls/userenv/tests) @@ -2890,15 +2890,15 @@ WINE_CONFIG_DLL(wing.dll16,enable_win16) WINE_CONFIG_DLL(wing32) WINE_CONFIG_DLL(winhttp,,[implib]) WINE_CONFIG_TEST(dlls/winhttp/tests) -WINE_CONFIG_DLL(wininet,,[po,implib]) +WINE_CONFIG_DLL(wininet,,[implib,po]) WINE_CONFIG_TEST(dlls/wininet/tests) -WINE_CONFIG_DLL(winmm,,[po,implib]) +WINE_CONFIG_DLL(winmm,,[implib,po]) WINE_CONFIG_TEST(dlls/winmm/tests) WINE_CONFIG_DLL(winnls.dll16,enable_win16) WINE_CONFIG_DLL(winnls32,,[implib]) WINE_CONFIG_DLL(winscard,,[implib]) WINE_CONFIG_DLL(winsock.dll16,enable_win16) -WINE_CONFIG_DLL(winspool.drv,,[po,implib],[winspool]) +WINE_CONFIG_DLL(winspool.drv,,[implib,po],[winspool]) WINE_CONFIG_TEST(dlls/winspool.drv/tests) WINE_CONFIG_DLL(winsta) WINE_CONFIG_DLL(wintab.dll16,enable_win16) @@ -2907,7 +2907,7 @@ WINE_CONFIG_TEST(dlls/wintab32/tests) WINE_CONFIG_DLL(wintrust,,[implib]) WINE_CONFIG_TEST(dlls/wintrust/tests) WINE_CONFIG_DLL(wlanapi) -WINE_CONFIG_DLL(wldap32,,[po,implib]) +WINE_CONFIG_DLL(wldap32,,[implib,po]) WINE_CONFIG_TEST(dlls/wldap32/tests) WINE_CONFIG_DLL(wmi) WINE_CONFIG_DLL(wmiutils) @@ -2938,8 +2938,8 @@ WINE_CONFIG_PROGRAM(aspnet_regiis,,[install]) WINE_CONFIG_PROGRAM(attrib,,[install]) WINE_CONFIG_PROGRAM(cabarc,,[install]) WINE_CONFIG_PROGRAM(cacls,,[install]) -WINE_CONFIG_PROGRAM(clock,,[po,install]) -WINE_CONFIG_PROGRAM(cmd,,[po,install]) +WINE_CONFIG_PROGRAM(clock,,[install,po]) +WINE_CONFIG_PROGRAM(cmd,,[install,po]) WINE_CONFIG_TEST(programs/cmd/tests) WINE_CONFIG_PROGRAM(cmdlgtst) WINE_CONFIG_PROGRAM(control,,[install]) @@ -2949,24 +2949,24 @@ WINE_CONFIG_PROGRAM(expand,,[install]) WINE_CONFIG_PROGRAM(explorer,,[install]) WINE_CONFIG_PROGRAM(extrac32,,[install]) WINE_CONFIG_PROGRAM(hh,,[install]) -WINE_CONFIG_PROGRAM(hostname,,[po,install]) +WINE_CONFIG_PROGRAM(hostname,,[install,po]) WINE_CONFIG_PROGRAM(icinfo,,[install]) WINE_CONFIG_PROGRAM(iexplore,,[install]) -WINE_CONFIG_PROGRAM(ipconfig,,[po,install]) +WINE_CONFIG_PROGRAM(ipconfig,,[install,po]) WINE_CONFIG_PROGRAM(lodctr,,[install]) WINE_CONFIG_PROGRAM(mofcomp,,[install]) WINE_CONFIG_PROGRAM(mshta,,[install]) WINE_CONFIG_PROGRAM(msiexec,,[install,installbin]) -WINE_CONFIG_PROGRAM(net,,[po,install]) +WINE_CONFIG_PROGRAM(net,,[install,po]) WINE_CONFIG_PROGRAM(netsh,,[install]) WINE_CONFIG_PROGRAM(ngen,,[install]) -WINE_CONFIG_PROGRAM(notepad,,[po,install,installbin]) -WINE_CONFIG_PROGRAM(oleview,,[po,install]) +WINE_CONFIG_PROGRAM(notepad,,[install,installbin,po]) +WINE_CONFIG_PROGRAM(oleview,,[install,po]) WINE_CONFIG_PROGRAM(ping,,[install]) WINE_CONFIG_PROGRAM(plugplay,,[install]) -WINE_CONFIG_PROGRAM(progman,,[po,install]) -WINE_CONFIG_PROGRAM(reg,,[po,install]) -WINE_CONFIG_PROGRAM(regedit,,[po,install,installbin]) +WINE_CONFIG_PROGRAM(progman,,[install,po]) +WINE_CONFIG_PROGRAM(reg,,[install,po]) +WINE_CONFIG_PROGRAM(regedit,,[install,installbin,po]) WINE_CONFIG_TEST(programs/regedit/tests) WINE_CONFIG_PROGRAM(regsvcs,,[install]) WINE_CONFIG_PROGRAM(regsvr32,,[install,installbin]) @@ -2978,37 +2978,37 @@ WINE_CONFIG_PROGRAM(secedit,,[install]) WINE_CONFIG_PROGRAM(servicemodelreg,,[install]) WINE_CONFIG_PROGRAM(services,,[install]) WINE_CONFIG_PROGRAM(spoolsv,,[install]) -WINE_CONFIG_PROGRAM(start,,[po,install]) +WINE_CONFIG_PROGRAM(start,,[install,po]) WINE_CONFIG_PROGRAM(svchost,,[install]) -WINE_CONFIG_PROGRAM(taskkill,,[po,install]) -WINE_CONFIG_PROGRAM(taskmgr,,[po,install]) +WINE_CONFIG_PROGRAM(taskkill,,[install,po]) +WINE_CONFIG_PROGRAM(taskmgr,,[install,po]) WINE_CONFIG_PROGRAM(termsv,,[install]) -WINE_CONFIG_PROGRAM(uninstaller,,[po,install]) +WINE_CONFIG_PROGRAM(uninstaller,,[install,po]) WINE_CONFIG_PROGRAM(unlodctr,,[install]) WINE_CONFIG_PROGRAM(view,,[po]) WINE_CONFIG_PROGRAM(wineboot,,[install,installbin]) WINE_CONFIG_PROGRAM(winebrowser,,[install]) -WINE_CONFIG_PROGRAM(winecfg,,[po,install,installbin]) -WINE_CONFIG_PROGRAM(wineconsole,,[po,install,installbin]) -WINE_CONFIG_PROGRAM(winedbg,,[po,install,installbin]) +WINE_CONFIG_PROGRAM(winecfg,,[install,installbin,po]) +WINE_CONFIG_PROGRAM(wineconsole,,[install,installbin,po]) +WINE_CONFIG_PROGRAM(winedbg,,[install,installbin,po]) WINE_CONFIG_PROGRAM(winedevice,,[install]) -WINE_CONFIG_PROGRAM(winefile,,[po,install,installbin]) +WINE_CONFIG_PROGRAM(winefile,,[install,installbin,po]) WINE_CONFIG_PROGRAM(winemenubuilder,,[install]) -WINE_CONFIG_PROGRAM(winemine,,[po,install,installbin]) +WINE_CONFIG_PROGRAM(winemine,,[install,installbin,po]) WINE_CONFIG_PROGRAM(winemsibuilder,,[install]) WINE_CONFIG_PROGRAM(winepath,,[install,installbin]) WINE_CONFIG_PROGRAM(winetest) WINE_CONFIG_PROGRAM(winevdm,enable_win16,[install]) WINE_CONFIG_PROGRAM(winhelp.exe16,enable_win16,[install]) -WINE_CONFIG_PROGRAM(winhlp32,,[po,install]) +WINE_CONFIG_PROGRAM(winhlp32,,[install,po]) WINE_CONFIG_PROGRAM(winoldap.mod16,enable_win16,[install]) WINE_CONFIG_PROGRAM(winver,,[install]) WINE_CONFIG_PROGRAM(wmic,,[install]) -WINE_CONFIG_PROGRAM(wordpad,,[po,install]) -WINE_CONFIG_PROGRAM(write,,[po,install]) +WINE_CONFIG_PROGRAM(wordpad,,[install,po]) +WINE_CONFIG_PROGRAM(write,,[install,po]) WINE_CONFIG_PROGRAM(wscript,,[install]) WINE_CONFIG_TEST(programs/wscript/tests) -WINE_CONFIG_PROGRAM(xcopy,,[po,install]) +WINE_CONFIG_PROGRAM(xcopy,,[install,po]) WINE_CONFIG_MAKEFILE([server]) WINE_CONFIG_TOOL(tools) WINE_CONFIG_TOOL(tools/widl) diff --git a/tools/make_makefiles b/tools/make_makefiles index af758469e4d..f662e2a3163 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -312,13 +312,19 @@ sub parse_makefile($) } if (/^\s*(MODULE|IMPORTLIB|TESTDLL)\s*=\s*(.*)/) { - $make{$1} = $2; + my $var = $1; + $make{$var} = $2; + push @{$make{"=flags"}}, "implib" if $var eq "IMPORTLIB"; next; } if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_[CHIPRS]_SRCS|IDL_TLB_SRCS|IMPLIB_SRCS|C_SRCS|MC_SRCS|RC_SRCS|PO_SRCS|SVG_SRCS|PROGRAMS)\s*=\s*(.*)/) { + my $var = $1; my @list = split(/\s+/, $2); - $make{$1} = \@list; + $make{$var} = \@list; + push @{$make{"=flags"}}, "mc" if $var eq "MC_SRCS"; + push @{$make{"=flags"}}, "po" if $var eq "PO_SRCS"; + push @{$make{"=flags"}}, "staticimplib" if $var eq "IMPLIB_SRCS"; next; } if (/^\s*(TOPSRCDIR|TOPOBJDIR|SRCDIR|VPATH)\s*=\s*(.*)/) @@ -326,6 +332,13 @@ sub parse_makefile($) die "Variable $1 in $file.in is obsolete"; } } + + if ($file =~ /^programs\/([^\/]+)\/Makefile/) + { + push @{$make{"=flags"}}, "install" unless $dont_install{$1}; + push @{$make{"=flags"}}, "installbin" if $bin_install{$1}; + } + return %make; } @@ -412,8 +425,8 @@ sub update_makefiles(@) my %make = %{$makefiles{$file}}; my $rules = $make{"=rules"}; my $args = ""; - my @flags; my $is_win16 = $make{"MODULE"} && ($make{"MODULE"} =~ /16$/ || $modules16{$make{"MODULE"}}); + my $flag_args = defined $make{"=flags"} ? ",[" . join(",",sort @{$make{"=flags"}}) ."]" : ""; if ($rules eq $makerules{"MAKE_DLL_RULES"}) { (my $name = $file) =~ s/^dlls\/(.*)\/Makefile/$1/; @@ -426,13 +439,9 @@ sub update_makefiles(@) die "Invalid MODULE in $file" unless $make{"MODULE"} eq "$name.dll"; } my $implib = $make{"IMPORTLIB"} || ""; - push @flags, "mc" if defined $make{"MC_SRCS"}; - push @flags, "po" if defined $make{"PO_SRCS"}; - push @flags, "implib" if $implib; - push @flags, "staticimplib" if defined($make{"IMPLIB_SRCS"}); - $args .= "," if $is_win16 || @flags; + $args .= "," if $is_win16 || defined $make{"=flags"}; $args .= "enable_win16" if $is_win16; - $args .= ",[" . join(",",@flags) ."]" if @flags; + $args .= $flag_args; $args .= ",[$implib]" if $implib && $implib ne $name; push @lines, "WINE_CONFIG_DLL($name$args)\n"; } @@ -447,34 +456,31 @@ sub update_makefiles(@) { die "Invalid MODULE in $file" unless $make{"MODULE"} eq "$name.exe"; } - push @flags, "mc" if defined $make{"MC_SRCS"}; - push @flags, "po" if defined $make{"PO_SRCS"}; - push @flags, "install" unless $dont_install{$name}; - push @flags, "installbin" if $bin_install{$name}; - $args .= "," if $is_win16 || @flags; + $args .= "," if $is_win16 || defined $make{"=flags"}; $args .= "enable_win16" if $is_win16; - $args .= ",[" . join(",",@flags) ."]" if @flags; - push @lines, "WINE_CONFIG_PROGRAM($name$args)\n"; + push @lines, "WINE_CONFIG_PROGRAM($name$args$flag_args)\n"; } elsif ($rules eq $makerules{"MAKE_TEST_RULES"}) { (my $dir = $file) =~ s/^(.*)\/Makefile/$1/; - push @lines, "WINE_CONFIG_TEST($dir)\n"; + push @lines, "WINE_CONFIG_TEST($dir$flag_args)\n"; } elsif ($rules eq $makerules{"MAKE_IMPLIB_RULES"}) { (my $name = $file) =~ s/^dlls\/(.*)\/Makefile/$1/; - push @lines, "WINE_CONFIG_LIB($name)\n"; + push @lines, "WINE_CONFIG_LIB($name$flag_args)\n"; } elsif ($file =~ /^tools.*\/Makefile$/) { (my $name = $file) =~ s/^(.*)\/Makefile/$1/; - push @lines, "WINE_CONFIG_TOOL($name)\n"; + push @lines, "WINE_CONFIG_TOOL($name$flag_args)\n"; } elsif ($file =~ /\/Makefile$/) { (my $name = $file) =~ s/^(.*)\/Makefile/$1/; - push @lines, "WINE_CONFIG_MAKEFILE([$name])\n"; + $args = "[$name]"; + $args .= "," if defined $make{"=flags"}; + push @lines, "WINE_CONFIG_MAKEFILE($args$flag_args)\n"; } } -- 2.11.4.GIT