Merge branch 'vim' into feat/code-check
[vim_extended.git] / src / Make_cyg.mak
blob0a869dc122b897f45628e3f9f024207d5318bae4
2 # Makefile for VIM on Win32, using Cygnus gcc
3 # Last updated by Dan Sharp. Last Change: 2007 Sep 29
5 # Also read INSTALLpc.txt!
7 # This compiles Vim as a Windows application. If you want Vim to run as a
8 # Cygwin application use the Makefile (just like on Unix).
10 # GUI no or yes: set to yes if you want the GUI version (yes)
11 # PERL define to path to Perl dir to get Perl support (not defined)
12 # PERL_VER define to version of Perl being used (56)
13 # DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (yes)
14 # PYTHON define to path to Python dir to get PYTHON support (not defined)
15 # PYTHON_VER define to version of Python being used (22)
16 # DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (yes)
17 # TCL define to path to TCL dir to get TCL support (not defined)
18 # TCL_VER define to version of TCL being used (83)
19 # DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
20 # RUBY define to path to Ruby dir to get Ruby support (not defined)
21 # RUBY_VER define to version of Ruby being used (16)
22 # DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
23 # MZSCHEME define to path to MzScheme dir to get MZSCHEME support (not defined)
24 # MZSCHEME_VER define to version of MzScheme being used (209_000)
25 # DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
26 # MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
27 # GETTEXT no or yes: set to yes for dynamic gettext support (yes)
28 # ICONV no or yes: set to yes for dynamic iconv support (yes)
29 # MBYTE no or yes: set to yes to include multibyte support (yes)
30 # IME no or yes: set to yes to include IME support (yes)
31 # DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
32 # OLE no or yes: set to yes to make OLE gvim (no)
33 # DEBUG no or yes: set to yes if you wish a DEBUGging build (no)
34 # CPUNR No longer supported, use ARCH.
35 # ARCH i386 through pentium4: select -march argument to compile with (i386)
36 # USEDLL no or yes: set to yes to use the Runtime library DLL (no)
37 # For USEDLL=yes the cygwin1.dll is required to run Vim.
38 # POSTSCRIPT no or yes: set to yes for PostScript printing (no)
39 # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
40 # WINVER Lowest Win32 version to support. (0x0400)
41 # CSCOPE no or yes: to include cscope interface support (yes)
42 # OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
43 # NETBEANS no or yes: to include netbeans interface support (yes when GUI
44 # is yes)
45 # NBDEBUG no or yes: to include netbeans interface debugging support (no)
46 # XPM define to path to XPM dir to get XPM image support (not defined)
47 #>>>>> choose options:
48 ifndef GUI
49 GUI=yes
50 endif
52 ifndef FEATURES
53 FEATURES = BIG
54 endif
56 ifndef GETTEXT
57 GETTEXT = yes
58 endif
60 ifndef ICONV
61 ICONV = yes
62 endif
64 ifndef MBYTE
65 MBYTE = yes
66 endif
68 ifndef IME
69 IME = yes
70 endif
72 ifndef ARCH
73 ARCH = i386
74 endif
76 ifndef WINVER
77 WINVER = 0x0400
78 endif
80 ifndef CSCOPE
81 CSCOPE = yes
82 endif
84 ifndef NETBEANS
85 ifeq ($(GUI),yes)
86 NETBEANS = yes
87 endif
88 endif
90 ifndef OPTIMIZE
91 OPTIMIZE = MAXSPEED
92 endif
94 ### See feature.h for a list of optionals.
95 ### Any other defines can be included here.
97 DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
98 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
99 INCLUDES = -march=$(ARCH) -Iproto
101 #>>>>> name of the compiler and linker, name of lib directory
102 CC = gcc
103 RC = windres
105 ##############################
106 # DYNAMIC_PERL=yes and no both work
107 ##############################
108 ifdef PERL
109 DEFINES += -DFEAT_PERL
110 INCLUDES += -I$(PERL)/lib/CORE
111 EXTRA_OBJS += $(OUTDIR)/if_perl.o
113 ifndef DYNAMIC_PERL
114 DYNAMIC_PERL = yes
115 endif
117 ifndef PERL_VER
118 PERL_VER = 56
119 endif
121 ifeq (yes, $(DYNAMIC_PERL))
122 DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
123 else
124 EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
125 endif
126 endif
128 ##############################
129 # DYNAMIC_PYTHON=yes works.
130 # DYNAMIC_PYTHON=no does not (unresolved externals on link).
131 ##############################
132 ifdef PYTHON
133 DEFINES += -DFEAT_PYTHON
134 INCLUDES += -I$(PYTHON)/include
135 EXTRA_OBJS += $(OUTDIR)/if_python.o
137 ifndef DYNAMIC_PYTHON
138 DYNAMIC_PYTHON = yes
139 endif
141 ifndef PYTHON_VER
142 PYTHON_VER = 22
143 endif
145 ifeq (yes, $(DYNAMIC_PYTHON))
146 DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
147 else
148 EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib
149 endif
150 endif
152 ##############################
153 # DYNAMIC_RUBY=yes works.
154 # DYNAMIC_RUBY=no does not (process exits).
155 ##############################
156 ifdef RUBY
158 ifndef RUBY_VER
159 RUBY_VER=16
160 endif
162 ifndef RUBY_VER_LONG
163 RUBY_VER_LONG=1.6
164 endif
166 ifndef DYNAMIC_RUBY
167 DYNAMIC_RUBY = yes
168 endif
170 ifeq ($(RUBY_VER), 16)
171 ifndef RUBY_PLATFORM
172 RUBY_PLATFORM = i586-mswin32
173 endif
174 ifndef RUBY_INSTALL_NAME
175 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
176 endif
177 else
178 ifndef RUBY_PLATFORM
179 RUBY_PLATFORM = i386-mswin32
180 endif
181 ifndef RUBY_INSTALL_NAME
182 RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
183 endif
184 endif
186 DEFINES += -DFEAT_RUBY
187 INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
188 EXTRA_OBJS += $(OUTDIR)/if_ruby.o
190 ifeq (yes, $(DYNAMIC_RUBY))
191 DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
192 DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
193 else
194 EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
195 endif
196 endif
198 ##############################
199 # DYNAMIC_MZSCHEME=yes works
200 # DYNAMIC_MZSCHEME=no works too
201 ##############################
202 ifdef MZSCHEME
203 DEFINES += -DFEAT_MZSCHEME
204 INCLUDES += -I$(MZSCHEME)/include
205 EXTRA_OBJS += $(OUTDIR)/if_mzsch.o
207 ifndef DYNAMIC_MZSCHEME
208 DYNAMIC_MZSCHEME = yes
209 endif
211 ifndef MZSCHEME_VER
212 MZSCHEME_VER = 209_000
213 endif
215 ifndef MZSCHEME_PRECISE_GC
216 MZSCHEME_PRECISE_GC=no
217 endif
219 # for version 4.x we need to generate byte-code for Scheme base
220 ifndef MZSCHEME_GENERATE_BASE
221 MZSCHEME_GENERATE_BASE=no
222 endif
224 ifeq (yes, $(DYNAMIC_MZSCHEME))
225 DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
226 else
227 ifndef MZSCHEME_DLLS
228 MZSCHEME_DLLS = $(MZSCHEME)
229 endif
230 ifeq (yes,$(MZSCHEME_PRECISE_GC))
231 MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
232 else
233 MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
234 endif
235 EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
236 endif
237 ifeq (yes,$(MZSCHEME_GENERATE_BASE))
238 DEFINES += -DINCLUDE_MZSCHEME_BASE
239 MZ_EXTRA_DEP += mzscheme_base.c
240 endif
241 ifeq (yes,$(MZSCHEME_PRECISE_GC))
242 DEFINES += -DMZ_PRECISE_GC
243 endif
244 endif
246 ##############################
247 # DYNAMIC_TCL=yes and no both work.
248 ##############################
249 ifdef TCL
250 DEFINES += -DFEAT_TCL
251 INCLUDES += -I$(TCL)/include
252 EXTRA_OBJS += $(OUTDIR)/if_tcl.o
254 ifndef DYNAMIC_TCL
255 DYNAMIC_TCL = yes
256 endif
258 ifndef TCL_VER
259 TCL_VER = 83
260 endif
262 ifeq (yes, $(DYNAMIC_TCL))
263 DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
264 EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib
265 else
266 EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib
267 endif
268 endif
270 ##############################
271 ifeq (yes, $(GETTEXT))
272 DEFINES += -DDYNAMIC_GETTEXT
273 endif
275 ##############################
276 ifeq (yes, $(ICONV))
277 DEFINES += -DDYNAMIC_ICONV
278 endif
280 ##############################
281 ifeq (yes, $(MBYTE))
282 DEFINES += -DFEAT_MBYTE
283 endif
285 ##############################
286 ifeq (yes, $(IME))
287 DEFINES += -DFEAT_MBYTE_IME
289 ifndef DYNAMIC_IME
290 DYNAMIC_IME = yes
291 endif
293 ifeq (yes, $(DYNAMIC_IME))
294 DEFINES += -DDYNAMIC_IME
295 else
296 EXTRA_LIBS += -limm32
297 endif
298 endif
300 ##############################
301 ifeq (yes, $(DEBUG))
302 DEFINES += -DDEBUG
303 INCLUDES += -g -fstack-check
304 DEBUG_SUFFIX = d
305 else
307 ifeq ($(OPTIMIZE), SIZE)
308 OPTFLAG = -Os
309 else
310 ifeq ($(OPTIMIZE), MAXSPEED)
311 OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return
312 else
313 OPTFLAG = -O2
314 endif
315 endif
317 # A bug in the GCC <= 3.2 optimizer can cause a crash. The
318 # following option removes the problem optimization.
319 OPTFLAG += -fno-strength-reduce
321 INCLUDES += -s
323 endif
325 ##############################
326 # USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll.
327 # USEDLL=no will build a Mingw32 executable with no extra dll dependencies.
328 ##############################
329 ifeq (yes, $(USEDLL))
330 DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
331 else
332 INCLUDES += -mno-cygwin
333 endif
335 ##############################
336 ifeq (yes, $(POSTSCRIPT))
337 DEFINES += -DMSWINPS
338 endif
340 ##############################
341 ifeq (yes, $(CSCOPE))
342 DEFINES += -DFEAT_CSCOPE
343 EXTRA_OBJS += $(OUTDIR)/if_cscope.o
344 endif
346 ##############################
347 ifeq ($(GUI),yes)
349 ##############################
350 ifeq (yes, $(NETBEANS))
351 # Only allow NETBEANS for a GUI build.
352 DEFINES += -DFEAT_NETBEANS_INTG
353 EXTRA_OBJS += $(OUTDIR)/netbeans.o
354 EXTRA_LIBS += -lwsock32
356 ifeq (yes, $(NBDEBUG))
357 DEFINES += -DNBDEBUG
358 NBDEBUG_DEP = nbdebug.h nbdebug.c
359 endif
361 endif
363 ##############################
364 ifdef XPM
365 # Only allow XPM for a GUI build.
366 DEFINES += -DFEAT_XPM_W32
367 INCLUDES += -I$(XPM)/include
368 EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
369 EXTRA_LIBS += -L$(XPM)/lib -lXpm
370 endif
372 ##############################
373 EXE = gvim$(DEBUG_SUFFIX).exe
374 OUTDIR = gobj$(DEBUG_SUFFIX)
375 DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
376 EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
377 EXTRA_LIBS += -mwindows -lcomctl32 -lversion
378 else
379 EXE = vim$(DEBUG_SUFFIX).exe
380 OUTDIR = obj$(DEBUG_SUFFIX)
381 LIBS += -luser32 -lgdi32 -lcomdlg32
382 endif
384 ##############################
385 ifeq (yes, $(OLE))
386 DEFINES += -DFEAT_OLE
387 EXTRA_OBJS += $(OUTDIR)/if_ole.o
388 EXTRA_LIBS += -loleaut32 -lstdc++
389 endif
391 ##############################
392 ifneq (sh.exe, $(SHELL))
393 DEL = rm
394 MKDIR = mkdir -p
395 DIRSLASH = /
396 else
397 DEL = del
398 MKDIR = mkdir
399 DIRSLASH = \\
400 endif
402 #>>>>> end of choices
403 ###########################################################################
405 INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \
406 structs.h version.h
408 CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES)
410 RCFLAGS = -O coff $(DEFINES)
412 OBJ = \
413 $(OUTDIR)/buffer.o \
414 $(OUTDIR)/charset.o \
415 $(OUTDIR)/diff.o \
416 $(OUTDIR)/digraph.o \
417 $(OUTDIR)/edit.o \
418 $(OUTDIR)/eval.o \
419 $(OUTDIR)/ex_cmds.o \
420 $(OUTDIR)/ex_cmds2.o \
421 $(OUTDIR)/ex_docmd.o \
422 $(OUTDIR)/ex_eval.o \
423 $(OUTDIR)/ex_getln.o \
424 $(OUTDIR)/fileio.o \
425 $(OUTDIR)/fold.o \
426 $(OUTDIR)/getchar.o \
427 $(OUTDIR)/hardcopy.o \
428 $(OUTDIR)/hashtab.o \
429 $(OUTDIR)/main.o \
430 $(OUTDIR)/mark.o \
431 $(OUTDIR)/memfile.o \
432 $(OUTDIR)/memline.o \
433 $(OUTDIR)/menu.o \
434 $(OUTDIR)/message.o \
435 $(OUTDIR)/misc1.o \
436 $(OUTDIR)/misc2.o \
437 $(OUTDIR)/move.o \
438 $(OUTDIR)/mbyte.o \
439 $(OUTDIR)/normal.o \
440 $(OUTDIR)/ops.o \
441 $(OUTDIR)/option.o \
442 $(OUTDIR)/os_win32.o \
443 $(OUTDIR)/os_mswin.o \
444 $(OUTDIR)/pathdef.o \
445 $(OUTDIR)/popupmnu.o \
446 $(OUTDIR)/quickfix.o \
447 $(OUTDIR)/regexp.o \
448 $(OUTDIR)/screen.o \
449 $(OUTDIR)/search.o \
450 $(OUTDIR)/spell.o \
451 $(OUTDIR)/syntax.o \
452 $(OUTDIR)/tag.o \
453 $(OUTDIR)/term.o \
454 $(OUTDIR)/ui.o \
455 $(OUTDIR)/undo.o \
456 $(OUTDIR)/version.o \
457 $(OUTDIR)/vimrc.o \
458 $(OUTDIR)/window.o \
459 $(EXTRA_OBJS)
461 all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll
463 # According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for
464 # linking unless calling ld directly.
465 # See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information.
466 $(EXE): $(OUTDIR) $(OBJ)
467 $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
469 xxd/xxd.exe: xxd/xxd.c
470 $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
472 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
473 $(MAKE) -C GvimExt -f Make_ming.mak
475 vimrun.exe: vimrun.c
476 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
478 install.exe: dosinst.c
479 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIBS) -luuid -lole32
481 uninstal.exe: uninstal.c
482 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS)
484 $(OUTDIR):
485 $(MKDIR) $(OUTDIR)
487 tags:
488 command /c ctags *.c $(INCL)
490 clean:
491 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
492 -rmdir $(OUTDIR)
493 -$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe
494 ifdef PERL
495 -$(DEL) if_perl.c
496 endif
497 ifdef MZSCHEME
498 -$(DEL) mzscheme_base.c
499 endif
500 -$(DEL) pathdef.c
501 $(MAKE) -C xxd -f Make_cyg.mak clean
502 $(MAKE) -C GvimExt -f Make_ming.mak clean
504 distclean: clean
505 -$(DEL) obj$(DIRSLASH)*.o
506 -rmdir obj
507 -$(DEL) gobj$(DIRSLASH)*.o
508 -rmdir gobj
509 -$(DEL) objd$(DIRSLASH)*.o
510 -rmdir objd
511 -$(DEL) gobjd$(DIRSLASH)*.o
512 -rmdir gobjd
513 -$(DEL) *.exe
515 ###########################################################################
517 $(OUTDIR)/%.o : %.c $(INCL)
518 $(CC) -c $(CFLAGS) $< -o $@
520 $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
521 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
523 $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
524 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
526 $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
527 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
529 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
530 $(CC) -c $(CFLAGS) if_ole.cpp -o $(OUTDIR)/if_ole.o
532 if_perl.c: if_perl.xs typemap
533 $(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \
534 -prototypes -typemap \
535 `cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@
537 $(OUTDIR)/if_perl.o: if_perl.c $(INCL)
538 ifeq (yes, $(USEDLL))
539 $(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o
540 endif
542 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
543 ifeq (16, $(RUBY_VER))
544 $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
545 endif
547 $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP)
548 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
550 $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
551 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
553 $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
554 $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
556 mzscheme_base.c:
557 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
559 pathdef.c: $(INCL)
560 ifneq (sh.exe, $(SHELL))
561 @echo creating pathdef.c
562 @echo '/* pathdef.c */' > pathdef.c
563 @echo '#include "vim.h"' >> pathdef.c
564 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
565 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
566 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
567 @echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c
568 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
569 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
570 else
571 @echo creating pathdef.c
572 @echo /* pathdef.c */ > pathdef.c
573 @echo #include "vim.h" >> pathdef.c
574 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
575 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
576 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
577 @echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c
578 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
579 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
580 endif