Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e1e75371
Commit
e1e75371
authored
Apr 24, 2000
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented on-demand loading of builtin dlls using dlopen().
parent
59b0d7b2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
153 additions
and
73 deletions
+153
-73
.cvsignore
.cvsignore
+0
-1
Make.rules.in
Make.rules.in
+0
-1
Makefile.in
Makefile.in
+9
-12
configure
configure
+0
-0
configure.in
configure.in
+6
-3
Makefile.in
debugger/Makefile.in
+1
-2
Makedll.rules.in
dlls/Makedll.rules.in
+3
-2
Makefile.in
dlls/Makefile.in
+24
-0
comdlg32.spec
dlls/commdlg/comdlg32.spec
+1
-1
shellord.c
dlls/shell32/shellord.c
+2
-1
Makefile.in
dlls/x11drv/Makefile.in
+1
-0
builtin.c
if1632/builtin.c
+17
-1
module.h
include/module.h
+2
-0
Makefile.in
libtest/Makefile.in
+10
-11
hello3res.rc
libtest/hello3res.rc
+1
-1
Makefile.in
programs/avitools/Makefile.in
+4
-4
Makefile.in
programs/clock/Makefile.in
+2
-2
Makefile.in
programs/cmdlgtst/Makefile.in
+2
-2
Makefile.in
programs/control/Makefile.in
+2
-2
Makefile.in
programs/notepad/Makefile.in
+2
-2
Makefile.in
programs/osversioncheck/Makefile.in
+1
-2
Makefile.in
programs/progman/Makefile.in
+2
-2
Makefile.in
programs/regapi/Makefile.in
+1
-2
Makefile.in
programs/regtest/Makefile.in
+1
-2
Makefile.in
programs/view/Makefile.in
+2
-2
Makefile.in
programs/wcmd/Makefile.in
+1
-2
Makefile.in
programs/winemine/Makefile.in
+1
-2
Makefile.in
programs/winhelp/Makefile.in
+2
-2
Makefile.in
programs/winver/Makefile.in
+2
-2
builtin32.c
relay32/builtin32.c
+51
-6
wine.ini
wine.ini
+0
-1
No files found.
.cvsignore
View file @
e1e75371
...
...
@@ -5,4 +5,3 @@ config.log
config.status
libwine.so.1.0
wine
wine.sym
Make.rules.in
View file @
e1e75371
...
...
@@ -30,7 +30,6 @@ X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
XLIB = @X_PRE_LIBS@ @XLIB@ @X_EXTRA_LIBS@
DLL_LINK = @DLL_LINK@
WINELIB = $(DLL_LINK)
LIBS = @LIBS@
YACC = @YACC@
LEX = @LEX@
...
...
Makefile.in
View file @
e1e75371
...
...
@@ -131,7 +131,7 @@ EXTRA_OBJS = $(LIBOBJS)
EMU_TARGET
=
@EMU_TARGET@
all
:
Make.rules $(PROGRAMS) $(LIBPROGRAMS) $(EMU_TARGET)
all
:
Make.rules $(PROGRAMS) $(LIBPROGRAMS)
lib$(MODULE).$(LIBEXT) $(DLLDIR)
$(EMU_TARGET)
@
echo
"Wine build complete."
LIBLINTS
=
$
(
LIBOBJS:.o
=
.ln
)
...
...
@@ -144,15 +144,12 @@ WINAPI_CHECK_EXTRA_FLAGS = --global
@MAKE_RULES@
all
:
lib$(MODULE).$(LIBEXT) $(DLLOBJS)
Make.rules
:
Make.rules.in configure
@
echo
$?
is newer than
'Make.rules'
, please rerun ./configure!
@
exit
1
wine wine.sym
:
lib$(MODULE).$(LIBEXT) $(DLLOBJS) $(EMUOBJS)
$(CC)
-o
wine
$(EMUOBJS)
$(DLL_LINK)
$(LDOPTIONS)
$(X_LIBS)
$(XLIB)
$(LIBS)
nm
-n
wine |
grep
-v
_compiled
>
wine.sym
wine
:
lib$(MODULE).$(LIBEXT) $(DLLDIR) $(EMUOBJS)
$(CC)
-o
wine
$(EMUOBJS)
$(DLL_LINK)
$(LIBS)
llib-lwine.ln
:
$(LIBLINTS)
$(LINT)
$(ALLLINTFLAGS)
-owine
$(LIBLINTS)
...
...
@@ -168,8 +165,6 @@ install_a: lib$(MODULE).a
install_wine
:
wine
[
-d
$(bindir)
]
||
$(MKDIR)
$(bindir)
[
-d
$(libdir)
]
||
$(MKDIR)
$(libdir)
[
-f
wine.sym
]
&&
$(INSTALL_DATA)
wine.sym
$(libdir)
/wine.sym
$(INSTALL_PROGRAM)
wine
$(bindir)
/wine
install
::
$(PROGRAMS) $(LIBPROGRAMS) $(EMU_TARGET:%=install_%) $(LIBEXT:%=install_%)
...
...
@@ -179,7 +174,7 @@ install:: $(PROGRAMS) $(LIBPROGRAMS) $(EMU_TARGET:%=install_%) $(LIBEXT:%=instal
$(INSTALL_PROGRAM)
debugger/winedbg
$(bindir)
/winedbg
uninstall
::
cd
$(libdir)
&&
$(RM)
libwine.a libwine.so libwine.so.
$(SOVERSION)
wine.sym
cd
$(libdir)
&&
$(RM)
libwine.a libwine.so libwine.so.
$(SOVERSION)
cd
$(bindir)
&&
$(RM)
wine wineserver dosmod winedbg
lib$(MODULE).so.$(SOVERSION)
:
$(OBJS) Makefile.in Make.rules.in
...
...
@@ -194,12 +189,14 @@ lib$(MODULE).a: $(OBJS) Makefile.in Make.rules.in
$(RANLIB)
$@
checklink
::
$(CC)
-o
checklink
$(TOPSRCDIR)
/library/checklink.c
-L
.
-lwine
$(L
DOPTIONS)
$(X_LIBS)
$(XLIB)
$(L
IBS)
&&
$(RM)
checklink
$(CC)
-o
checklink
$(TOPSRCDIR)
/library/checklink.c
-L
.
-lwine
$(LIBS)
&&
$(RM)
checklink
$(EMUOBJS) $(LIBOBJS) $(DLLOBJS) $(PROGRAMS) $(LIBPROGRAMS)
:
$(TOOLSUBDIRS) dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
`
basename
$@
`
$(LIBPROGRAMS)
:
lib$(MODULE).$(LIBEXT) $(DLLOBJS)
$(DLLDIR)
:
$(TOOLSUBDIRS) dummy
$(LIBPROGRAMS)
:
lib$(MODULE).$(LIBEXT) $(DLLDIR)
$(LIBLINTS) $(EMULINTS)
:
dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
lint
...
...
@@ -232,7 +229,7 @@ htmlpages:
for
i
in
$(LIBSUBDIRS)
;
do
(
cd
$$
i
&&
$(MAKE)
html
)
;
done
clean
::
$(RM)
wine
wine.sym
libwine.so.1.0 TAGS
$(RM)
wine libwine.so.1.0 TAGS
distclean
:
clean
$(RM)
config.
*
Make.rules dlls/Makedll.rules include/config.h documentation/wine.man documentation/wine.conf.man
...
...
configure
View file @
e1e75371
This diff is collapsed.
Click to expand it.
configure.in
View file @
e1e75371
...
...
@@ -110,9 +110,11 @@ AC_CHECK_HEADERS(dlfcn.h,
AC_DEFINE(HAVE_DL_API),
AC_CHECK_LIB(dl,dlopen,
AC_DEFINE(HAVE_DL_API)
LIBS="$LIBS -ldl"
LIBS="$LIBS -ldl",
LIBEXT="a"
)
)
),
LIBEXT="a"
)
AC_SUBST(XLIB)
AC_SUBST(X_SRCS)
...
...
@@ -467,12 +469,13 @@ fi
DLLFLAGS=""
BUILDFLAGS=""
DLL_LINK="-L\$(DLLDIR) \$(DLLS:%=-l%) -L\$(TOPOBJDIR) -lwine"
if test "$LIBEXT" = "so"; then
BUILDFLAGS="-pic"
DLLFLAGS="-fPIC"
DLL_LINK="-L\$(DLLDIR) \$(IMPORTS:%=-l%) -L\$(TOPOBJDIR) -lwine"
else
DLL_LINK="-L\$(DLLDIR) \$(DLLS:%=-l%) -L\$(TOPOBJDIR) -lwine \$(X_LIBS) \$(XLIB)"
AC_CACHE_CHECK([whether the linker supports --[[no]]-whole-archive (Linux)],
ac_cv_c_whole_archive,
[saved_cflags=$CFLAGS
...
...
debugger/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
winedbg
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
WRCEXTRA
=
-A
-p
$*
C_SRCS
=
\
...
...
@@ -45,6 +44,6 @@ lex.yy.c: debug.l
$(LEX)
-8
-I
$(SRCDIR)
/debug.l
winedbg
:
$(OBJS)
$(CC)
-o
$@
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
$@
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
### Dependencies:
dlls/Makedll.rules.in
View file @
e1e75371
...
...
@@ -5,6 +5,7 @@
# SOVERSION : version of the .so file
# ALTNAMES : alternate names for this dll (optional)
# IMPORTS : dlls to import (optional)
# EXTRALIBS : extra libraries to link in (optional)
#
# plus all variables required by the global Make.rules.in
#
...
...
@@ -23,7 +24,7 @@ all: lib$(MODULE).$(LIBEXT) $(ALTNAMES:%=lib%.$(LIBEXT))
# Rules for .so files
lib$(MODULE).so.$(SOVERSION): $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(LDSHARED) $(OBJS) -o $@
$(LDSHARED) $(OBJS) -o $@
-L$(DLLDIR) $(IMPORTS:%=-l%) $(EXTRALIBS)
$(ALLNAMES): lib$(MODULE).so.$(SOVERSION)
$(RM) $@ && $(LN_S) lib$(MODULE).so.$(SOVERSION) $@
...
...
@@ -43,7 +44,7 @@ $(ALTNAMES:%=lib%.a): lib$(MODULE).a
IMPORTLIBS = $(IMPORTS:%=$(DLLDIR)/lib%.$(LIBEXT))
checklink:: lib$(MODULE).$(LIBEXT) $(IMPORTLIBS)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -l$(MODULE) -L$(
DLLDIR) $(IMPORTS:%=-l%) -L$(TOPOBJDIR) -lwine $(LDOPTIONS) $(X_LIBS) $(XLIB
) $(LIBS) && $(RM) checklink
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -l$(MODULE) -L$(
TOPOBJDIR) -lwine $(EXTRALIBS
) $(LIBS) && $(RM) checklink
$(IMPORTLIBS): dummy
@cd $(DLLDIR) && $(MAKE) `basename $@`
...
...
dlls/Makefile.in
View file @
e1e75371
...
...
@@ -305,6 +305,30 @@ libwsock32.@LIBEXT@ libwinsock.@LIBEXT@: winsock/libwsock32.@LIBEXT@
libx11drv.@LIBEXT@
:
x11drv/libx11drv.@LIBEXT@
$(RM)
$@
&&
$(LN_S)
x11drv/libx11drv.@LIBEXT@
$@
# Inter-dll dependencies (only necessary for .so)
avifil32/libavifil32.so
:
libmsvfw32.so libwinmm.so
commdlg/libcomdlg32.so
:
libwinspool.so
ddraw/libddraw.so
:
libx11drv.so
dplayx/libdplayx.so
:
libole32.so
msvideo/libmsvfw32.so
:
libwinmm.so
oleaut32/liboleaut32.so
:
libole32.so libcomctl32.so
olecli/libolecli32.so
:
libolesvr32.so libole32.so
olepro32/libolepro32.so
:
liboleaut32.so libole32.so
shell32/libshell32.so
:
libole32.so
urlmon/liburlmon.so
:
libole32.so
version/libversion.so
:
liblz32.so
winmm/joystick/libjoystick.drv.so
:
libwinmm.so
winmm/mcianim/libmcianim.drv.so
:
libwinmm.so
winmm/mciavi/libmciavi.drv.so
:
libwinmm.so
winmm/mcicda/libmcicda.drv.so
:
libwinmm.so
winmm/mciseq/libmciseq.drv.so
:
libwinmm.so
winmm/mciwave/libmciwave.drv.so
:
libwinmm.so
winmm/midimap/libmidimap.drv.so
:
libwinmm.so
winmm/wavemap/libmsacm.drv.so
:
libwinmm.so
winmm/wineoss/libwineoss.drv.so
:
libwinmm.so
$(DLLFILES)
:
dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
...
...
dlls/commdlg/comdlg32.spec
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ rsrc comdlg32
import shell32.dll
import comctl32.dll
import winspool.d
ll
import winspool.d
rv
0 stub ArrowBtnWndProc
1 stdcall ChooseColorA(ptr) ChooseColorA
...
...
dlls/shell32/shellord.c
View file @
e1e75371
...
...
@@ -461,7 +461,8 @@ LPVOID WINAPI SHAlloc(DWORD len)
DWORD
WINAPI
SHRegisterDragDrop
(
HWND
hWnd
,
IDropTarget
*
pDropTarget
)
{
FIXME
(
"(0x%08x,%p):stub.
\n
"
,
hWnd
,
pDropTarget
);
return
RegisterDragDrop
(
hWnd
,
pDropTarget
);
if
(
GetShellOle
())
return
pRegisterDragDrop
(
hWnd
,
pDropTarget
);
return
0
;
}
/*************************************************************************
...
...
dlls/x11drv/Makefile.in
View file @
e1e75371
...
...
@@ -4,6 +4,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
x11drv
SOVERSION
=
1.0
EXTRALIBS
=
$(X_LIBS)
$(XLIB)
SPEC_SRCS
=
x11drv.spec
...
...
if1632/builtin.c
View file @
e1e75371
...
...
@@ -183,6 +183,7 @@ BOOL BUILTIN_Init(void)
HMODULE16
BUILTIN_LoadModule
(
LPCSTR
name
)
{
char
dllname
[
16
],
*
p
;
void
*
handle
;
int
i
;
/* Fix the name in case we have a full path and extension */
...
...
@@ -198,9 +199,24 @@ HMODULE16 BUILTIN_LoadModule( LPCSTR name )
const
BUILTIN16_DESCRIPTOR
*
descr
=
builtin_dlls
[
i
];
NE_MODULE
*
pModule
=
(
NE_MODULE
*
)
descr
->
module_start
;
OFSTRUCT
*
pOfs
=
(
OFSTRUCT
*
)((
LPBYTE
)
pModule
+
pModule
->
fileinfo
);
if
(
!
lstrcmpiA
(
pOfs
->
szPathName
,
dllname
))
if
(
!
strcasecmp
(
pOfs
->
szPathName
,
dllname
))
return
BUILTIN_DoLoadModule16
(
descr
);
}
if
((
handle
=
BUILTIN32_dlopen
(
dllname
)))
{
for
(
i
=
0
;
i
<
nb_dlls
;
i
++
)
{
const
BUILTIN16_DESCRIPTOR
*
descr
=
builtin_dlls
[
i
];
NE_MODULE
*
pModule
=
(
NE_MODULE
*
)
descr
->
module_start
;
OFSTRUCT
*
pOfs
=
(
OFSTRUCT
*
)((
LPBYTE
)
pModule
+
pModule
->
fileinfo
);
if
(
!
strcasecmp
(
pOfs
->
szPathName
,
dllname
))
return
BUILTIN_DoLoadModule16
(
descr
);
}
ERR
(
"loaded .so but dll %s still not found
\n
"
,
dllname
);
BUILTIN32_dlclose
(
handle
);
}
return
(
HMODULE16
)
2
;
}
...
...
include/module.h
View file @
e1e75371
...
...
@@ -236,5 +236,7 @@ HGLOBAL16 NE_LoadPEResource( NE_MODULE *pModule, WORD type, LPVOID bits, DWORD s
extern
WINE_MODREF
*
BUILTIN32_LoadLibraryExA
(
LPCSTR
name
,
DWORD
flags
);
extern
HMODULE
BUILTIN32_LoadExeModule
(
LPCSTR
*
filename
);
extern
void
BUILTIN32_UnloadLibrary
(
WINE_MODREF
*
wm
);
extern
void
*
BUILTIN32_dlopen
(
const
char
*
name
);
extern
int
BUILTIN32_dlclose
(
void
*
handle
);
#endif
/* __WINE_MODULE_H */
libtest/Makefile.in
View file @
e1e75371
...
...
@@ -4,7 +4,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
expand
hello hello2 hello3 hello4 hello5 new rolex vartest volinfo
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
WRCEXTRA
=
-s
-p
$*
SPEC_SRCS
=
\
...
...
@@ -27,33 +26,33 @@ all: check_wrc $(PROGRAMS)
@MAKE_RULES@
expand
:
expand.o expand.spec.o
$(CC)
-o
expand
$+
$(LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
expand
$+
-L
$(DLLDIR)
-llz32
$(DLL_LINK)
$(
LIBS)
hello
:
hello.o hello.spec.o
$(CC)
-o
hello
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
hello
$+
$(
DLL_LINK)
$(
LIBS)
hello2
:
hello2.o hello2.spec.o
$(CC)
-o
hello2
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
hello2
$+
$(
DLL_LINK)
$(
LIBS)
hello3
:
hello3.o hello3.spec.o hello3res.o
$(CC)
-o
hello3
$+
$(LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
hello3
$+
-L
$(DLLDIR)
-lcomdlg32
-lwinspool
$(DLL_LINK)
$(
LIBS)
hello4
:
hello4.o hello4.spec.o
$(CC)
-o
hello4
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
hello4
$+
$(
DLL_LINK)
$(
LIBS)
hello5
:
hello5.o hello5.spec.o
$(CC)
-o
hello5
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
hello5
$+
$(
DLL_LINK)
$(
LIBS)
new
:
new.o new.spec.o
$(CC)
-o
new
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
new
$+
$(
DLL_LINK)
$(
LIBS)
rolex
:
rolex.o rolex.spec.o
$(CC)
-o
rolex
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
rolex
$+
$(
DLL_LINK)
$(
LIBS)
vartest
:
vartest.o vartest.spec.o
$(CC)
-o
vartest
$+
$(LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
vartest
$+
-L
$(DLLDIR)
-loleaut32
-lole32
$(DLL_LINK)
$(
LIBS)
volinfo
:
volinfo.o volinfo.spec.o
$(CC)
-o
volinfo
$+
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
volinfo
$+
$(
DLL_LINK)
$(
LIBS)
### Dependencies:
libtest/hello3res.rc
View file @
e1e75371
...
...
@@ -9,7 +9,7 @@ MAIN MENU
}
}
BITDEMO BITMAP "../rc/winelogo.bmp"
/*BITDEMO BITMAP "../rc/winelogo.bmp"*/
DIADEMO DIALOG 20, 20, 179, 118
STYLE DS_MODALFRAME | WS_CAPTION | WS_POPUP | WS_VISIBLE | WS_SYSMENU
...
...
programs/avitools/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
icinfo aviinfo aviplay
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
msvfw32 winmm ddraw x11drv
WRCEXTRA
=
-s
-p
$*
SPEC_SRCS
=
\
...
...
@@ -18,13 +18,13 @@ all: check_wrc $(PROGRAMS)
@MAKE_RULES@
icinfo
:
icinfo.o icinfo.spec.o
$(CC)
-o
icinfo icinfo.o icinfo.spec.o
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
icinfo icinfo.o icinfo.spec.o
$(
DLL_LINK)
$(
LIBS)
aviinfo
:
aviinfo.o aviinfo.spec.o
$(CC)
-o
aviinfo aviinfo.o aviinfo.spec.o
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
aviinfo aviinfo.o aviinfo.spec.o
$(
DLL_LINK)
$(
LIBS)
aviplay
:
aviplay.o aviplay.spec.o
$(CC)
-o
aviplay aviplay.o aviplay.spec.o
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
aviplay aviplay.o aviplay.spec.o
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
icinfo
$(bindir)
/icinfo
...
...
programs/clock/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
clock
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 comdlg32 ole32 winspool
WRCEXTRA
=
-s
-p
clock
LICENSELANG
=
En
...
...
@@ -31,7 +31,7 @@ all: check_wrc $(PROGRAMS)
clock
:
$(OBJS)
$(CC)
-o
clock
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
clock
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
clock
$(bindir)
/clock
...
...
programs/cmdlgtst/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
cmdlgtst
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
comdlg32 winspool
WRCEXTRA
=
-s
-p
cmdlgtst
C_SRCS
=
\
...
...
@@ -22,7 +22,7 @@ all: check_wrc $(PROGRAMS)
@MAKE_RULES@
cmdlgtst
:
$(OBJS)
$(CC)
-o
cmdlgtst
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
cmdlgtst
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
cmdlgtst
$(bindir)
/cmdlgtst
...
...
programs/control/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
control
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 ole32
C_SRCS
=
control.c
...
...
@@ -16,7 +16,7 @@ all: $(PROGRAMS)
@MAKE_RULES@
control
:
$(OBJS)
$(CC)
-o
control
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
control
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
control
$(bindir)
/control
...
...
programs/notepad/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
notepad
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 ole32 comdlg32 winspool
WRCEXTRA
=
-s
-p
notepad
LICENSELANG
=
En
...
...
@@ -31,7 +31,7 @@ all: check_wrc $(PROGRAMS)
$(CPP)
$(DEFS)
$(OPTIONS)
$(DIVINCL)
-DRC_INVOKED
-P
-x
c
$<
|
$(WRC)
$(WRCFLAGS)
$(WRCEXTRA)
-o
$*
.s
notepad
:
$(OBJS)
$(CC)
-o
notepad
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
notepad
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
notepad
$(bindir)
/notepad
...
...
programs/osversioncheck/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
osversioncheck
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
C_SRCS
=
osversioncheck.c
...
...
@@ -16,7 +15,7 @@ all: $(PROGRAMS)
@MAKE_RULES@
osversioncheck
:
$(OBJS)
$(CC)
-o
osversioncheck
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
osversioncheck
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
osversioncheck
$(bindir)
/osversioncheck
...
...
programs/progman/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
progman
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 comdlg32 ole32 winspool
WRCEXTRA
=
-s
-p
progman
LICENSELANG
=
En
...
...
@@ -33,7 +33,7 @@ all: check_wrc $(PROGRAMS)
$(CPP)
$(DEFS)
$(OPTIONS)
$(DIVINCL)
-DRC_INVOKED
-P
-x
c
$<
|
$(WRC)
$(WRCFLAGS)
$(WRCEXTRA)
-o
$*
.s
progman
:
$(OBJS)
$(CC)
-o
progman
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
progman
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
progman
$(bindir)
/progman
...
...
programs/regapi/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
regapi
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
C_SRCS
=
\
regapi.c
...
...
@@ -18,7 +17,7 @@ all: $(PROGRAMS)
@MAKE_RULES@
regapi
:
$(OBJS)
$(CC)
-o
regapi
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
regapi
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
regapi
$(bindir)
/regapi
...
...
programs/regtest/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
regtest
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
C_SRCS
=
regtest.c
...
...
@@ -16,7 +15,7 @@ all: $(PROGRAMS)
@MAKE_RULES@
regtest
:
$(OBJS)
$(CC)
-o
regtest
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
regtest
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
regtest
$(bindir)
/regtest
...
...
programs/view/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
view
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
comdlg32 winspool
WRCEXTRA
=
-s
-p
view
C_SRCS
=
\
...
...
@@ -24,7 +24,7 @@ all: check_wrc $(PROGRAMS)
@MAKE_RULES@
view
:
$(OBJS)
$(CC)
-o
view
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
view
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
view
$(bindir)
/view
...
...
programs/wcmd/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
wcmd
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
WRCEXTRA
=
-s
-p
wcmd
C_SRCS
=
\
...
...
@@ -25,7 +24,7 @@ all: check_wrc $(PROGRAMS)
@MAKE_RULES@
wcmd
:
$(OBJS)
$(CC)
-o
wcmd
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
wcmd
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
wcmd
$(bindir)
/wcmd
...
...
programs/winemine/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
winemine
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
WRCEXTRA
=
-s
-p
winemine
LICENSELANG
=
En
...
...
@@ -28,7 +27,7 @@ all: check_wrc $(PROGRAMS)
$(CPP)
$(DEFS)
$(OPTIONS)
$(DIVINCL)
-DRC_INVOKED
-P
-x
c
$<
|
$(WRC)
$(WRCFLAGS)
$(WRCEXTRA)
-o
$*
.s
winemine
:
$(OBJS)
$(CC)
-o
winemine
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
winemine
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
winemine
$(bindir)
/winemine
...
...
programs/winhelp/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
winhelp hlp2sgml
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 ole32 comdlg32 winspool
WRCEXTRA
=
-s
-p
winhelp
C_SRCS
=
\
...
...
@@ -32,7 +32,7 @@ depend: y.tab.h
$(CPP)
$(DEFS)
$(OPTIONS)
$(DIVINCL)
-DRC_INVOKED
-P
-x
c
$<
|
$(WRC)
$(WRCFLAGS)
$(WRCEXTRA)
-o
$*
.s
winhelp
:
$(OBJS)
$(CC)
-o
winhelp
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
winhelp
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
hlp2sgml
:
hlp2sgml.o hlpfile.o
$(CC)
-o
hlp2sgml hlp2sgml.o hlpfile.o
...
...
programs/winver/Makefile.in
View file @
e1e75371
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
none
PROGRAMS
=
winver
ALL_LIBS
=
$(WINELIB)
$(X_LIBS)
$(XLIB)
$(LIBS)
IMPORTS
=
shell32 ole32
C_SRCS
=
winver.c
...
...
@@ -16,7 +16,7 @@ all: $(PROGRAMS)
@MAKE_RULES@
winver
:
$(OBJS)
$(CC)
-o
winver
$(OBJS)
$(
LDOPTIONS)
$(ALL_
LIBS)
$(CC)
-o
winver
$(OBJS)
$(
DLL_LINK)
$(
LIBS)
install
::
$(INSTALL_PROGRAM)
winver
$(bindir)
/winver
...
...
relay32/builtin32.c
View file @
e1e75371
...
...
@@ -4,14 +4,21 @@
* Copyright 1997 Alexandre Julliard
*/
#include "config.h"
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#ifdef HAVE_DL_API
#include <dlfcn.h>
#endif
#include "windef.h"
#include "wingdi.h"
#include "winuser.h"
#include "builtin32.h"
#include "elfdll.h"
#include "neexe.h"
#include "heap.h"
#include "main.h"
...
...
@@ -75,6 +82,39 @@ static void BUILTIN32_WarnSecondInstance( const char *name )
}
/***********************************************************************
* BUILTIN32_dlopen
*/
void
*
BUILTIN32_dlopen
(
const
char
*
name
)
{
#ifdef HAVE_DL_API
void
*
handle
;
char
buffer
[
128
],
*
p
;
if
((
p
=
strrchr
(
name
,
'/'
)))
name
=
p
+
1
;
if
((
p
=
strrchr
(
name
,
'\\'
)))
name
=
p
+
1
;
sprintf
(
buffer
,
"lib%s"
,
name
);
for
(
p
=
buffer
;
*
p
;
p
++
)
*
p
=
tolower
(
*
p
);
if
((
p
=
strrchr
(
buffer
,
'.'
))
&&
(
!
strcmp
(
p
,
".dll"
)
||
!
strcmp
(
p
,
".exe"
)))
*
p
=
0
;
strcat
(
buffer
,
".so"
);
if
(
!
(
handle
=
ELFDLL_dlopen
(
buffer
,
RTLD_NOW
)))
ERR
(
"failed to load %s: %s
\n
"
,
buffer
,
dlerror
()
);
return
handle
;
#else
return
NULL
;
#endif
}
/***********************************************************************
* BUILTIN32_dlclose
*/
int
BUILTIN32_dlclose
(
void
*
handle
)
{
#ifdef HAVE_DL_API
return
dlclose
(
handle
);
#endif
}
/***********************************************************************
* BUILTIN32_DoLoadImage
*
* Load a built-in Win32 module. Helper function for BUILTIN32_LoadImage.
...
...
@@ -357,6 +397,7 @@ WINE_MODREF *BUILTIN32_LoadLibraryExA(LPCSTR path, DWORD flags)
NE_MODULE
*
pModule
;
WINE_MODREF
*
wm
;
char
dllname
[
MAX_PATH
],
*
p
;
void
*
handle
;
int
i
;
/* Fix the name in case we have a full path and extension */
...
...
@@ -368,14 +409,20 @@ WINE_MODREF *BUILTIN32_LoadLibraryExA(LPCSTR path, DWORD flags)
/* Search built-in descriptor */
for
(
i
=
0
;
i
<
nb_dlls
;
i
++
)
if
(
!
lstrcmpiA
(
builtin_dlls
[
i
]
->
filename
,
dllname
))
break
;
if
(
!
strcasecmp
(
builtin_dlls
[
i
]
->
filename
,
dllname
))
goto
found
;
if
(
i
==
nb_dlls
)
if
(
(
handle
=
BUILTIN32_dlopen
(
dllname
))
)
{
SetLastError
(
ERROR_FILE_NOT_FOUND
);
return
NULL
;
for
(
i
=
0
;
i
<
nb_dlls
;
i
++
)
if
(
!
strcasecmp
(
builtin_dlls
[
i
]
->
filename
,
dllname
))
goto
found
;
ERR
(
"loaded .so but dll %s still not found
\n
"
,
dllname
);
BUILTIN32_dlclose
(
handle
);
}
SetLastError
(
ERROR_FILE_NOT_FOUND
);
return
NULL
;
found:
/* Load built-in module */
if
(
!
dll_modules
[
i
])
{
...
...
@@ -418,8 +465,6 @@ WINE_MODREF *BUILTIN32_LoadLibraryExA(LPCSTR path, DWORD flags)
*/
HMODULE
BUILTIN32_LoadExeModule
(
LPCSTR
*
filename
)
{
HMODULE16
hModule16
;
NE_MODULE
*
pModule
;
int
i
,
exe
=
-
1
;
/* Search built-in EXE descriptor */
...
...
wine.ini
View file @
e1e75371
...
...
@@ -55,7 +55,6 @@ System=c:\windows\system
Temp
=
e:
\
Path=c:
\w
indows;c:
\w
indows
\s
ystem;e:
\;
e:
\t
est;f:
\
Profile=c:
\w
indows
\P
rofiles
\A
dministrator
SymbolTableFile
=
./wine.sym
# <wineconf>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment