Changeset 3374
- Timestamp:
- May 27, 2007, 1:17:48 PM (18 years ago)
- Location:
- branches/libc-0.6
- Files:
-
- 3 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/libc-0.6/Makefile
r3103 r3374 10 10 # 11 11 12 12 13 13 ############################################################################### 14 14 ## Global Variables … … 54 54 BUILD_DEBUGINFO = -g 55 55 BUILD_ENABLE_SYMBOLS = --enable-symbols 56 endif 56 endif 57 57 58 58 … … 61 61 export GCC_VERSION_SHORT ?= 335 62 62 ifdef OFFICIAL_BIRD_VERSION 63 export GCC_RELEASE_ID ?= csd 263 export GCC_RELEASE_ID ?= csd3 64 64 else 65 65 export GCC_RELEASE_ID ?= x … … 75 75 export EMX_CVS_VENDOR ?= EMX 76 76 export EMX_CVS_REL ?= EMX_0-9D-FIX04 77 export LIBC_VERSION ?= 0.6. 278 export LIBC_VERSION_SHORT ?= 06 277 export LIBC_VERSION ?= 0.6.3 78 export LIBC_VERSION_SHORT ?= 063 79 79 80 80 # innotek version and timestamp … … 90 90 endif 91 91 92 93 # 92 93 # 94 94 # For builds on Linux Host builds we do the environment setup here. 95 95 # This is essentially a mimicking of what we do on OS/2. … … 127 127 endif 128 128 129 129 130 130 131 131 … … 152 152 153 153 # old bootstrap building. 154 bootstrap all-boostrap: 154 bootstrap all-boostrap: 155 155 mkdir -p $(PATH_OBJ) 156 156 $(NICE) $(MAKE) $(MAKEOPT) -j 1 -C . all-bootstrap-logged 2>&1 | $(UNIXROOT)/usr/bin/tee $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log … … 178 178 # banners 179 179 # 180 180 181 181 all-banner-start: 182 182 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 183 183 @echo "+ Make started: $(shell date)" 184 184 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 185 185 186 186 all-banner-stage1: 187 187 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" … … 193 193 @echo "+ Stage 2 - starting: $(shell date)" 194 194 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 195 195 196 196 all-banner-builtunix-initial: 197 197 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 198 198 @echo "+ Initializing builtunix tree" 199 199 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 200 200 201 201 all-banner-builtunix-stage2: 202 202 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" … … 208 208 @echo "+ Install - starting: $(shell date)" 209 209 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 210 210 211 211 all-banner-install-done: 212 212 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" … … 218 218 @echo "+ symlinks - staring: $(shell date)" 219 219 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 220 220 221 221 all-banner-symlinks-done: 222 222 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" … … 228 228 @echo "+ symlinks unlinking - staring: $(shell date)" 229 229 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 230 230 231 231 all-banner-symlinks-unlink-done: 232 232 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 233 233 @echo "+ symlinks unlinking - done: $(shell date)" 234 234 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 235 236 235 236 237 237 # 238 238 # Sanity and environment dumps - to make it easier to figure out make bugs. … … 240 240 241 241 .PHONY: all-env 242 all-env: 242 all-env: 243 243 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 244 244 @echo "Variables:" … … 306 306 -ls -la $(PATH_BIN)/ 307 307 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 308 309 308 309 310 310 .PHONY: all-sanity 311 311 all-sanity: … … 340 340 endif 341 341 @echo "ok" 342 342 343 343 344 344 # 345 345 # Preload tools we commonly use this speeds up stuff. 346 # 346 # 347 347 PRELOADED_TOOLS = bin/sh.exe bin/echo.exe bin/true.exe usr/bin/test.exe usr/bin/expr.exe \ 348 348 usr/bin/gawk.exe bin/sed.exe bin/rm.exe bin/cat.exe bin/cp.exe bin/mkdir.exe bin/rm.exe 349 349 350 350 .PHONY: all-preload-unload all-preload 351 351 all-preload: … … 363 363 endif 364 364 @echo "" 365 365 366 366 all-preload-unload: 367 367 ifeq "$(BUILD_PLATFORM)" "OS2" … … 379 379 .PHONY: all-versionstamps 380 380 all-versionstamps: $(PATH_OBJ)/.ts.versionstamped 381 $(PATH_OBJ)/.ts.versionstamped: 381 $(PATH_OBJ)/.ts.versionstamped: 382 382 # echo '#define INNOTEK_VERSION "$(INNOTEK_VERSION)"' > include/innotekversion.h 383 383 $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) "INNOTEK_VERSION=$(INNOTEK_VERSION)" gcc-versionstamps binutils-versionstamps emx-versionstamps … … 390 390 # A rebuild with the new toolsuite is usually required when there is ABI 391 391 # changes and other vital changes done to the tools. 392 # 392 # 393 393 394 394 .PHONY: all-stage1 all-stage1-it … … 408 408 all-gcc \ 409 409 all-emx 410 410 411 411 .PHONY: all-stage2 all-stage2-it 412 412 all-stage2: $(PATH_OBJ)/.all-stage2 … … 435 435 @echo "+ Saving Stage 1 - done: $(shell date)" 436 436 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 437 437 438 438 all-stage2-it: \ 439 439 all-banner-stage2 \ … … 468 468 fi; \ 469 469 done 470 endif 471 472 470 endif 471 472 473 473 # 474 474 # Generate all the diffs we have to supply. … … 479 479 binutils-diff \ 480 480 emx-diff \ 481 482 483 484 481 482 483 484 485 485 486 486 ############################################################################### … … 505 505 @echo "+ Quick Bootstrap started: $(shell date)" 506 506 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 507 .PHONY: all-quick-logged 507 .PHONY: all-quick-logged 508 508 all-quick-logged: \ 509 509 all-quick-banner-start \ … … 524 524 @echo "+ Quick Bootstrap Ended Successfully: $(shell date)" 525 525 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 526 526 527 527 .PHONY: all-quick-builtunix-initial 528 528 all-quick-builtunix-initial: $(PATH_OBJ)/.quick-builtunix-initial … … 534 534 $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-builtunix-initial-it 535 535 touch $@ 536 536 537 537 538 538 # This build type is used for release builds. … … 579 579 $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-builtunix-initial-it 580 580 touch $@ 581 581 582 582 # stage1 583 583 .PHONY: all-double-quick-stage1 all-double-quick-stage1-it … … 596 596 @echo "+ Double Quick Bootstrap Stage 1 - done: $(shell date)" 597 597 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 598 touch $@ 599 600 # save stage1 598 touch $@ 599 600 # save stage1 601 601 .PHONY: all-double-quick-save-stage1 all-double-quick-save-stage1-it 602 602 all-double-quick-save-stage1: $(PATH_OBJ)/.doublequick-stage1-saved … … 618 618 touch $@ 619 619 620 # stage2 620 # stage2 621 621 .PHONY: all-double-quick-stage2 all-double-quick-stage2-it 622 622 all-double-quick-stage2: $(PATH_OBJ)/.doublequick-stage2 … … 634 634 @echo "+ Double Quick Bootstrap Stage 2 - done: $(shell date)" 635 635 @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 636 touch $@ 637 638 639 # step 1 builds the base libraries. 636 touch $@ 637 638 639 # step 1 builds the base libraries. 640 640 .PHONY: all-quick-step1 all-quick-step1-it 641 641 all-quick-step1: $(PATH_OBJ)/.quick-step1 … … 715 715 716 716 717 # Installs the stuff we've built. 717 # Installs the stuff we've built. 718 718 .PHONY: all-quick-install 719 719 all-quick-install: \ … … 725 725 all-strip-install \ 726 726 all-banner-install-done 727 728 727 728 729 729 ############################################################################### 730 730 ############################################################################### … … 736 736 ############################################################################### 737 737 ############################################################################### 738 738 739 739 all-builtunix-initial: \ 740 740 all-banner-builtunix-initial \ … … 745 745 $(PATH_BUILTTOOLS)/omfhack/realar.exe \ 746 746 $(PATH_BUILTTOOLS)/omfhack/ranlib.exe 747 747 748 748 all-builtunix-clean: \ 749 749 all-preload-unload 750 750 rm -Rf $(PATH_BUILTUNIX) 751 751 752 752 all-builtunix-dirs: 753 753 mkdir -p $(PATH_BUILTTOOLS)/bin $(PATH_BUILTTOOLS)/lib $(PATH_BUILTTOOLS)/include $(PATH_BUILTTOOLS)/omfhack 754 754 755 755 $(PATH_BUILTTOOLS)/bin/dllar.cmd $(PATH_BUILTTOOLS_TMP)/bin/dllar.cmd: $(PATH_TOP)/src/misc/dllar.cmd 756 756 cp $< $@ … … 765 765 $(PATH_BUILTTOOLS_TMP)/omfhack: 766 766 mkdir -p $@ 767 767 768 768 all-builtunix-stage2: \ 769 769 all-banner-builtunix-stage2 \ … … 778 778 all-builtunix-clean 779 779 mv -f $(PATH_BUILTUNIX_TMP) $(PATH_BUILTUNIX) 780 780 781 781 all-builtunix-stage2-libs: 782 782 -for aoutlib in `find $(PATH_BUILTUNIX_TMP) -name "*.a" | sed -e 's/\.a$$//' `; \ … … 823 823 all-symlinks-unlink-binutils \ 824 824 all-banner-symlinks-unlink-done 825 826 825 826 827 827 ifeq "$(BUILD_PLATFORM)" "OS2" 828 828 TOOL_SYMLINK_FILE = cp -p … … 837 837 endif 838 838 839 # ld is broken, so don't use it! 839 # ld is broken, so don't use it! 840 840 # ld \ 841 841 … … 902 902 include/xtensa-isa.h \ 903 903 904 904 905 905 # Symlink binutils stuff to gcc. 906 906 # Note the test should've been "! -e", but that doesn' work in ash... :/ … … 916 916 fi ; \ 917 917 fi ; \ 918 done 918 done 919 919 for dir in $(SYMLINKS_BINUTILS_TO_GCC_DIRS) ; do \ 920 920 if [ ! -f "$(PATH_TOP)/src/gcc/.symlinked.`echo $${dir} | sed -e 's@/@_@g'`" ] ; then \ … … 951 951 done 952 952 -ls -a1 src/gcc/.sym* 953 953 954 954 955 955 ############################################################################### … … 1015 1015 done 1016 1016 1017 1017 1018 1018 # build the components. 1019 1019 .PHONY: gcc-bootstrap gcc-build gcc-install gcc-configure … … 1021 1021 mkdir -p $(PATH_OBJ)/gcc 1022 1022 $(MAKE) $(MAKEOPT) -j 1 -C $(PATH_OBJ)/gcc -f $(MAKEFILE) $@-it 1023 1023 1024 1024 # let the build/bootstrap create the gcc import .def file before kicking off a build. 1025 1025 gcc-bootstrap gcc-build: src/gcc/gcc/config/i386/emx-libgcc_so_d.def … … 1039 1039 gcc-bootstrap-it gcc-build-it: \ 1040 1040 $(PATH_OBJ)/gcc/.ts.configured 1041 ifeq "$(BUILD_PLATFORM)" "OS2" 1041 ifeq "$(BUILD_PLATFORM)" "OS2" 1042 1042 unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g" ; \ 1043 1043 $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc \ … … 1051 1051 else 1052 1052 $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc $(subst build, all, $(patsubst gcc-%-it, %, $@)) 1053 endif 1054 1053 endif 1054 1055 1055 # configure it (invoked after directory change). 1056 1056 # We set CC to help configure finding it. … … 1103 1103 1104 1104 1105 # Install to builtunix directory. 1105 # Install to builtunix directory. 1106 1106 ## WARNING! Another spec HACK! 1107 1107 gcc-builtunix-stage2: … … 1114 1114 gcc-autoconf-refresh \ 1115 1115 gcc-build 1116 1116 1117 1117 gcc-quick-installstage: 1118 1118 rm -Rf $(PATH_BUILTUNIX_TMP) … … 1121 1121 rm -Rf $(PATH_BUILTUNIX_TMP) 1122 1122 1123 1123 1124 1124 # Generate diffs for GCC - part of packing a release. 1125 1125 .PHONY: gcc-diff $(ALL_PREFIX)/src/diffs/gcc-$(GCC_VERSION).diff … … 1207 1207 CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \ 1208 1208 LDFLAGS="$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf" 1209 1209 1210 1210 # configure it (invoked after directory change). 1211 1211 # We set CC to help configure finding it. … … 1269 1269 --program-suffix=-elf " 1270 1270 touch $(PATH_OBJ)/binutils/.ts.configured 1271 1272 1273 1271 1272 1273 1274 1274 # Install the Binutils build 1275 1275 # Repeating the prefix doesn't hurt anybody. … … 1288 1288 sed -e '/printf.*program_version/s/%s %s.*\\n/%s %s $(INNOTEK_VERSION)\\n/' \ 1289 1289 $(PATH_TOP)/src/binutils/binutils/version.tmp.c > $(PATH_TOP)/src/binutils/binutils/version.c 1290 rm -f $(PATH_TOP)/src/binutils/binutils/version.tmp.c 1290 rm -f $(PATH_TOP)/src/binutils/binutils/version.tmp.c 1291 1291 if [ -f $(PATH_TOP)/src/gcc/binutils/version.c ]; then \ 1292 1292 cp -f $(PATH_TOP)/src/gcc/binutils/version.c $(PATH_TOP)/src/gcc/binutils/version.tmp.c && \ … … 1300 1300 -e '/fprintf.*GNU.*assembler.*version.*BFD.*/s/using BFD version %s.*/using BFD version %s $(INNOTEK_VERSION)"),/ ' \ 1301 1301 $(PATH_TOP)/src/binutils/gas/as.tmp.c > $(PATH_TOP)/src/binutils/gas/as.c 1302 rm -f $(PATH_TOP)/src/binutils/gas/as.tmp.c 1302 rm -f $(PATH_TOP)/src/binutils/gas/as.tmp.c 1303 1303 if [ -f $(PATH_TOP)/src/gcc/gas/as.c ]; then \ 1304 1304 cp -f $(PATH_TOP)/src/gcc/gas/as.c $(PATH_TOP)/src/gcc/gas/as.tmp.c && \ … … 1312 1312 sed -e '/fprintf.*GNU.*ld.*version/s/(with BFD %s).*/(with BFD %s) $(INNOTEK_VERSION)\\n"),/' \ 1313 1313 $(PATH_TOP)/src/binutils/ld/ldver.tmp.c > $(PATH_TOP)/src/binutils/ld/ldver.c 1314 rm -f $(PATH_TOP)/src/binutils/ld/ldver.tmp.c 1314 rm -f $(PATH_TOP)/src/binutils/ld/ldver.tmp.c 1315 1315 if [ -f $(PATH_TOP)/src/gcc/ld/ldver.c ]; then \ 1316 1316 cp -f $(PATH_TOP)/src/gcc/ld/ldver.c $(PATH_TOP)/src/gcc/ld/ldver.tmp.c && \ … … 1318 1318 $(PATH_TOP)/src/gcc/ld/ldver.tmp.c > $(PATH_TOP)/src/gcc/ld/ldver.c && \ 1319 1319 rm -f $(PATH_TOP)/src/gcc/ld/ldver.tmp.c ; \ 1320 fi 1321 1320 fi 1321 1322 1322 1323 1323 # Quick bootstrap workers. … … 1337 1337 rm -Rf $(PATH_BUILTUNIX_TMP) 1338 1338 1339 1339 1340 1340 # Generate diffs for Binutils (part of packing). 1341 1341 .PHONY: binutils-diff $(ALL_PREFIX)/src/diffs/binutils-$(BINUTILS_VERSION).diff … … 1347 1347 1348 1348 1349 1350 1351 1349 1350 1351 1352 1352 1353 1353 … … 1364 1364 emx-build 1365 1365 @echo "Successfully build EMX." 1366 1367 # Some helpers. 1366 1367 # Some helpers. 1368 1368 # TODO: Change OUT and INS to the right ones. Currently not possible as 1369 1369 # doing such breaks the rules generating. … … 1378 1378 EMX_MASM = $(PATH_TOP)/tools/x86.os2/masm/v6.0/binp/ml.exe 1379 1379 EMX_DEFINES = "OUT=$(EMX_OUT)" "INS=$(EMX_INS)" "MODE=$(EMX_MODE)" "ASM=$(EMX_MASM) -c" 1380 1380 1381 1381 # build the components. (directory changer rules) 1382 1382 .PHONY: emx-build emx-install emx-configure … … 1392 1392 $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(ALL_PREFIX)/ install 1393 1393 1394 1394 1395 1395 # We pass down the INNOTEK_VERSION define when building EMX. 1396 1396 emx-versionstamps: 1397 1397 @echo "Version stamping EMX... nothing to do" 1398 1398 1399 1399 # Install the compiled emx stuff to builtunix. 1400 1400 emx-builtunix-stage2: 1401 1401 $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS_TMP)/ install 1402 1402 1403 # Quick bootstrap workers. 1403 # Quick bootstrap workers. 1404 1404 emx-quick-libs: 1405 1405 GCCLOAD=3 $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/src/emx/libonly.gmk -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all … … 1407 1407 emx-quick-libs-install: 1408 1408 $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/src/emx/libonly.gmk -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install 1409 1409 1410 1410 emx-quick-rest: 1411 1411 GCCLOAD=3 $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all 1412 1412 1413 1413 emx-quick-rest-install: 1414 1414 $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install 1415 1415 1416 1416 1417 1417 # Generate diffs for EMX (part of packing). … … 1423 1423 1424 1424 1425 1426 1427 1425 1426 1427 1428 1428 ############################################################################### 1429 1429 ############################################################################### … … 1446 1446 rm -f $(ZIPBASE).zip 1447 1447 cd $(ALL_PREFIX)/.. ; zip $(ZIPFLAGS) $(ZIPBASE).zip * 1448 1448 1449 1449 packing-doc: 1450 1450 rm -f $(ZIPBASE)-doc.zip 1451 1451 cd $(ALL_PREFIX)/..; zip $(ZIPFLAGS) $(ZIPBASE)-doc.zip usr/doc/GCC-$(GCC_VERSION)/* 1452 1452 1453 1453 packing-libc: 1454 1454 rm -f $(PATH_BIN)/libc-$(LIBC_VERSION)-$(GCC_RELEASE_ID).zip … … 1460 1460 packing-src-binutils \ 1461 1461 packing-src-emx \ 1462 1462 1463 1463 packing-src-gcc: 1464 1464 rm -f $(ZIPBASE)-src-GCC.zip 1465 1465 zip $(ZIPFLAGS) $(ZIPBASE)-src-GCC.zip src/gcc -x \*CVS\* 1466 1466 1467 1467 packing-src-binutils: 1468 1468 rm -f $(ZIPBASE)-src-binutils.zip 1469 1469 zip $(ZIPFLAGS) $(ZIPBASE)-src-binutils.zip src/binutils -x \*CVS\* 1470 1470 1471 1471 packing-src-emx: 1472 1472 rm -f $(ZIPBASE)-src-emx.zip 1473 1473 zip $(subst r,,$(ZIPFLAGS)) $(ZIPBASE)-src-emx.zip src/emx/* -x \*CVS\* -x \*testcase\* -x \*out\* 1474 1474 zip $(ZIPFLAGS) $(ZIPBASE)-src-emx.zip src/emx/src/* src/emx/include/* src/emx/src/bsd/* -x \*CVS\* 1475 1476 1475 1476 1477 1477 ############################################################################### 1478 1478 ############################################################################### … … 1501 1501 cp $(PATH_TOP)/src/misc/dllar.cmd $(ALL_PREFIX)/bin 1502 1502 cp $(PATH_TOP)/src/misc/gccenv.cmd $(ALL_PREFIX)/bin 1503 1503 1504 1504 1505 1505 # 1506 1506 # Checkout rule 1507 # 1507 # 1508 1508 checkout update up: 1509 1509 cvs -q update -d -P 2>&1 | tee up.log -
branches/libc-0.6/src/emx/src/lib/libc.smak
r3104 r3374 482 482 libc-dll: $.omf/libc061.dll 483 483 484 # libc062 485 $.omf/libc062.dll: src/lib/libc062.def $.omf/fwdstub.obj $.omf/libc_dll.lib 486 gcc -Zomf -o $@ -nostdlib -Zdll $^ 487 $(INS)lib/libc062.dll: $.omf/libc062.dll 488 $(call CP,$<,$@) 489 INS.FILES += $(INS)lib/libc062.dll 490 libc-dll: $.omf/libc062.dll 491 484 492 485 493 # Some parallel building hacks (kmk only as vanilla make doesn't support this syntax). -
branches/libc-0.6/src/emx/src/lib/libc062.def
r3345 r3374 1 1 ; $Id$ 2 2 ; 3 ; L egacy LIBC Exports Ordinals.3 ; LIBC062 Forwarder DLL. 4 4 ; 5 5 ; Exports and ordinals listed here are treated as legacy stuff … … 19 19 ; 20 20 21 LIBRARY libc062 21 22 EXPORTS 22 23 ; data -
branches/libc-0.6/src/emx/version.smak
r2684 r3374 7 7 # Low part of version number 8 8 ifdef OFFICIAL_BIRD_VERSION 9 VL = 29 VL = 3 10 10 else 11 VL = 2x11 VL = 3x 12 12 endif 13 13
Note:
See TracChangeset
for help on using the changeset viewer.