From c0b3af34b999c7fca2e530b81d356ea9036d228d Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Thu, 20 Mar 2008 18:27:46 -0700 Subject: [PATCH] fusion: Add a stub implementation of fusion.dll. --- Makefile.in | 2 ++ configure | 3 +++ configure.ac | 1 + dlls/Makefile.in | 1 + dlls/fusion/Makefile.in | 13 +++++++++++ dlls/fusion/fusion.spec | 17 ++++++++++++++ dlls/fusion/fusion_main.c | 49 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 86 insertions(+) create mode 100644 dlls/fusion/Makefile.in create mode 100644 dlls/fusion/fusion.spec create mode 100644 dlls/fusion/fusion_main.c diff --git a/Makefile.in b/Makefile.in index 3406854e9b4..5ac0a0e097c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -264,6 +264,7 @@ ALL_MAKEFILES = \ dlls/dxerr9/Makefile \ dlls/dxguid/Makefile \ dlls/faultrep/Makefile \ + dlls/fusion/Makefile \ dlls/gdi32/Makefile \ dlls/gdi32/tests/Makefile \ dlls/gdiplus/Makefile \ @@ -683,6 +684,7 @@ dlls/dxerr8/Makefile: dlls/dxerr8/Makefile.in dlls/Makeimplib.rules dlls/dxerr9/Makefile: dlls/dxerr9/Makefile.in dlls/Makeimplib.rules dlls/dxguid/Makefile: dlls/dxguid/Makefile.in dlls/Makeimplib.rules dlls/faultrep/Makefile: dlls/faultrep/Makefile.in dlls/Makedll.rules +dlls/fusion/Makefile: dlls/fusion/Makefile.in dlls/Makedll.rules dlls/gdi32/Makefile: dlls/gdi32/Makefile.in dlls/Makedll.rules dlls/gdi32/tests/Makefile: dlls/gdi32/tests/Makefile.in dlls/Maketest.rules dlls/gdiplus/Makefile: dlls/gdiplus/Makefile.in dlls/Makedll.rules diff --git a/configure b/configure index 37e1061894f..b628597a7cf 100755 --- a/configure +++ b/configure @@ -21479,6 +21479,8 @@ ac_config_files="$ac_config_files dlls/dxguid/Makefile" ac_config_files="$ac_config_files dlls/faultrep/Makefile" +ac_config_files="$ac_config_files dlls/fusion/Makefile" + ac_config_files="$ac_config_files dlls/gdi32/Makefile" ac_config_files="$ac_config_files dlls/gdi32/tests/Makefile" @@ -22755,6 +22757,7 @@ do "dlls/dxerr9/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/dxerr9/Makefile" ;; "dlls/dxguid/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/dxguid/Makefile" ;; "dlls/faultrep/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/faultrep/Makefile" ;; + "dlls/fusion/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/fusion/Makefile" ;; "dlls/gdi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdi32/Makefile" ;; "dlls/gdi32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdi32/tests/Makefile" ;; "dlls/gdiplus/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdiplus/Makefile" ;; diff --git a/configure.ac b/configure.ac index abf8374b91b..0f345c0a1c2 100644 --- a/configure.ac +++ b/configure.ac @@ -1770,6 +1770,7 @@ AC_CONFIG_FILES([dlls/dxerr8/Makefile]) AC_CONFIG_FILES([dlls/dxerr9/Makefile]) AC_CONFIG_FILES([dlls/dxguid/Makefile]) AC_CONFIG_FILES([dlls/faultrep/Makefile]) +AC_CONFIG_FILES([dlls/fusion/Makefile]) AC_CONFIG_FILES([dlls/gdi32/Makefile]) AC_CONFIG_FILES([dlls/gdi32/tests/Makefile]) AC_CONFIG_FILES([dlls/gdiplus/Makefile]) diff --git a/dlls/Makefile.in b/dlls/Makefile.in index 1fe930924a2..d73865426eb 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -94,6 +94,7 @@ BASEDIRS = \ dwmapi \ dxdiagn \ faultrep \ + fusion \ gdi32 \ gdiplus \ gphoto2.ds \ diff --git a/dlls/fusion/Makefile.in b/dlls/fusion/Makefile.in new file mode 100644 index 00000000000..2d1a37fe4cd --- /dev/null +++ b/dlls/fusion/Makefile.in @@ -0,0 +1,13 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = fusion.dll +IMPORTS = kernel32 + +C_SRCS = \ + fusion_main.c + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/fusion/fusion.spec b/dlls/fusion/fusion.spec new file mode 100644 index 00000000000..210dd090f11 --- /dev/null +++ b/dlls/fusion/fusion.spec @@ -0,0 +1,17 @@ +@ stub CopyPDBs +@ stub ClearDownloadCache +@ stub CreateApplicationContext +@ stub CreateAssemblyCache +@ stub CreateAssemblyEnum +@ stub CreateAssemblyNameObject +@ stub CreateHistoryReader +@ stub CreateInstallReferenceEnum +@ stub GetCachePath +@ stub GetHistoryFileDirectory +@ stub InitializeFusion +@ stub InstallCustomAssembly +@ stub InstallCustomModule +@ stub LookupHistoryAssembly +@ stub NukeDownloadedCache +@ stub PreBindAssembly +@ stub PreBindAssemblyEx diff --git a/dlls/fusion/fusion_main.c b/dlls/fusion/fusion_main.c new file mode 100644 index 00000000000..5c9d77646e0 --- /dev/null +++ b/dlls/fusion/fusion_main.c @@ -0,0 +1,49 @@ +/* + * fusion main + * + * Copyright 2008 James Hawkins + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fusion); + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); + + switch (fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + break; + case DLL_PROCESS_DETACH: + break; + default: + break; + } + + return TRUE; +}