32
32
# Only build the additions, sort out the legacy names first.
34
34
LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared RuntimeGuestR3Mini
35
LIBRARIES.win.amd64 += RuntimeGuestR3-x86 RuntimeGuestR3Shared-x86
35
36
ifdef VBOX_WITH_ADDITION_DRIVERS
36
37
LIBRARIES += RuntimeGuestR0
37
38
#LIBRARIES.os2 += RuntimeGuestR0OS2Warp3
52
53
LIBRARIES += RuntimeR3
56
else ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
58
# Build docs only - need just regular R3 runtime.
60
LIBRARIES += RuntimeBldProg
61
IMPORT_LIBS += VBoxRTImp
62
LIBRARIES.win += RuntimeR0Stub RuntimeRCStub
63
include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
55
65
else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_TESTSUITE && !VBOX_ONLY_DOCS
60
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
70
ifndef VBOX_ONLY_EXTPACKS
71
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
73
include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
62
75
BLDPROGS += uniread
63
LIBRARIES += RuntimeR3 RuntimeR0 RuntimeEFCPP RuntimeR3NoCRTGCC
76
IMPORT_LIBS += VBoxRTImp
77
LIBRARIES += RuntimeR3 RuntimeBldProg RuntimeR0 RuntimeEFCPP RuntimeR3NoCRTGCC
64
78
LIBRARIES.win += RuntimeR0Stub
65
79
ifdef VBOX_WITH_RAW_MODE
66
80
LIBRARIES += RuntimeRC
100
# Always build the ntdll import libraries on windows.
101
LIBRARIES.win += RuntimeR3NtDll-x86
102
if1of (amd64, $(KBUILD_TARGET_ARCH) $(KBUILD_HOST_ARCH))
103
LIBRARIES.win += RuntimeR3NtDll-amd64
84
107
# Where the generated stuff goes.
85
108
IPRT_OUT_DIR := $(PATH_TARGET)/Runtime
86
109
BLDDIRS += $(IPRT_OUT_DIR)
107
130
IPRT_BLDCFG_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" \
108
131
IPRT_BLDCFG_VERSION_MAJOR=$(VBOX_VERSION_MAJOR) \
109
132
IPRT_BLDCFG_VERSION_MINOR=$(VBOX_VERSION_MINOR) \
110
IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD)
133
IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD) \
134
IPRT_BLDCFG_TARGET=\"$(KBUILD_TARGET)\" \
135
IPRT_BLDCFG_TARGET_ARCH=\"$(KBUILD_TARGET_ARCH)\" \
136
IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
113
139
# Unicode Specification reader used to regenerate unidata.cpp.
180
206
# RuntimeR3 - Static Runtime for Ring-3 executables.
182
208
RuntimeR3_TEMPLATE = VBoxR3Static
183
RuntimeR3_SDKS = VBOX_LIBXML2 VBOX_BOOST
184
RuntimeR3_SDKS.win = WINPSDK W2K3DDK
209
RuntimeR3_SDKS = VBOX_LIBXML2 VBOX_OPENSSL VBOX_BOOST ## @todo why is BOOST and XML2 here? r3/xml.cpp is not in this lib...
210
RuntimeR3_SDKS.win = WINPSDK $(VBOX_WINDDK)
185
211
RuntimeR3_DEFS = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 LDR_WITH_PE RT_WITH_VBOX RT_NO_GIP
186
212
#RuntimeR3_DEFS += RTMEM_WRAP_TO_EF_APIS
187
213
ifdef IPRT_WITH_KSTUFF
229
255
common/checksum/md5str.cpp \
230
256
common/checksum/ipv4.cpp \
231
257
common/checksum/ipv6.cpp \
258
common/checksum/manifest.cpp \
259
common/checksum/manifest2.cpp \
260
common/checksum/manifest3.cpp \
261
common/checksum/manifest-file.cpp \
262
common/checksum/RTSha1Digest.cpp \
263
common/checksum/sha1.cpp \
264
common/checksum/sha1str.cpp \
265
common/checksum/sha256.cpp \
266
common/checksum/sha256str.cpp \
267
common/checksum/sha512.cpp \
268
common/checksum/sha512str.cpp \
232
269
common/dbg/dbg.cpp \
233
270
common/dbg/dbgas.cpp \
234
271
common/dbg/dbgmod.cpp \
235
272
common/dbg/dbgmodcontainer.cpp \
236
273
common/dbg/dbgmodnm.cpp \
274
common/err/errinfo.cpp \
237
275
common/err/errmsg.cpp \
238
276
common/err/RTErrConvertFromErrno.cpp \
239
277
common/err/RTErrConvertToErrno.cpp \
275
314
common/misc/sanity-cpp.cpp \
276
315
common/misc/semspingpong.cpp \
277
316
common/misc/sg.cpp \
317
common/misc/circbuf.cpp \
278
318
common/misc/thread.cpp \
279
common/misc/zip.cpp \
280
319
common/misc/term.cpp \
281
common/misc/tar.cpp \
282
320
common/path/rtPathRootSpecLen.cpp \
283
321
common/path/rtPathVolumeSpecLen.cpp \
284
322
common/path/RTPathAbsDup.cpp \
285
323
common/path/RTPathAbsEx.cpp \
286
324
common/path/RTPathAbsExDup.cpp \
287
325
common/path/RTPathAppend.cpp \
326
common/path/RTPathAppendEx.cpp \
288
327
common/path/RTPathChangeToDosSlashes.cpp \
289
328
common/path/RTPathChangeToUnixSlashes.cpp \
290
329
common/path/RTPathCopyComponents.cpp \
294
333
common/path/RTPathHaveExt.cpp \
295
334
common/path/RTPathHavePath.cpp \
296
335
common/path/RTPathJoin.cpp \
336
common/path/RTPathJoinA.cpp \
337
common/path/RTPathJoinEx.cpp \
297
338
common/path/RTPathParse.cpp \
298
339
common/path/RTPathRealDup.cpp \
340
common/path/RTPathStartsWithRoot.cpp \
299
341
common/path/RTPathStripExt.cpp \
300
342
common/path/RTPathStripFilename.cpp \
301
343
common/path/RTPathStripTrailingSlash.cpp \
307
349
common/sort/RTSortIsSorted.cpp \
308
350
common/sort/RTSortApvIsSorted.cpp \
309
351
common/sort/shellsort.cpp \
352
common/string/RTStrCat.cpp \
353
common/string/RTStrCatEx.cpp \
310
354
common/string/RTStrCmp.cpp \
311
355
common/string/RTStrConvertHexBytes.cpp \
312
356
common/string/RTStrCopy.cpp \
320
364
common/string/simplepattern.cpp \
321
365
common/string/straprintf.cpp \
322
366
common/string/strformat.cpp \
367
common/string/strformatnum.cpp \
323
368
common/string/strformatrt.cpp \
324
369
common/string/strformattype.cpp \
325
370
common/string/stringalloc.cpp \
336
381
common/string/ministring.cpp \
337
382
common/table/avlgcptr.cpp \
338
383
common/table/avlhcphys.cpp \
384
common/table/avlgcphys.cpp \
339
385
common/table/avllu32.cpp \
340
386
common/table/avlou32.cpp \
341
387
common/table/avlogcphys.cpp \
348
394
common/table/avlrogcptr.cpp \
349
395
common/table/avlroioport.cpp \
350
396
common/table/avlroogcptr.cpp \
397
common/table/avlrpv.cpp \
351
398
common/table/avlruintptr.cpp \
352
399
common/table/avlrfoff.cpp \
400
common/table/avlru64.cpp \
353
401
common/table/avlu32.cpp \
354
402
common/table/avluintptr.cpp \
355
403
common/table/avlul.cpp \
357
405
common/time/time.cpp \
358
406
common/time/timeprog.cpp \
359
407
common/time/timesup.cpp \
408
common/vfs/vfsbase.cpp \
409
common/vfs/vfschain.cpp \
410
common/vfs/vfsiosmisc.cpp \
411
common/vfs/vfsmemory.cpp \
412
common/vfs/vfsmisc.cpp \
413
common/vfs/vfsstdfile.cpp \
415
common/zip/tarcmd.cpp \
416
common/zip/tarvfs.cpp \
417
common/zip/gzipvfs.cpp \
360
419
generic/critsect-generic.cpp \
361
420
generic/env-generic.cpp \
362
421
generic/RTDirCreateTemp-generic.cpp \
450
511
generic/RTRandAdvCreateSystemFaster-generic.cpp \
451
512
generic/RTRandAdvCreateSystemTruer-generic.cpp \
452
513
generic/RTSemEventWait-generic.cpp \
453
generic/RTSemEventMultiWait-generic.cpp \
514
generic/RTSemEventMultiWait-2-ex-generic.cpp \
515
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
454
516
generic/RTSemMutexRequest-generic.cpp \
455
517
generic/RTSemMutexRequestDebug-generic.cpp \
456
518
generic/mppresent-generic.cpp \
500
565
generic/RTFileMove-generic.cpp \
501
566
generic/RTLogWriteDebugger-generic.cpp \
502
567
generic/RTProcDaemonize-generic.cpp \
568
generic/RTSemEventMultiWait-2-ex-generic.cpp \
569
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
503
570
generic/RTTimeLocalNow-generic.cpp \
504
571
generic/RTTimerCreate-generic.cpp \
505
572
generic/RTUuidCreate-generic.cpp \
515
582
r3/linux/RTProcIsRunningByName-linux.cpp \
516
583
r3/linux/RTSystemQueryDmiString-linux.cpp \
517
584
r3/posix/RTFileQueryFsSizes-posix.cpp \
585
r3/posix/RTHandleGetStandard-posix.cpp \
586
r3/posix/RTMemProtect-posix.cpp \
587
r3/posix/RTPathUserHome-posix.cpp \
518
588
r3/posix/RTSystemQueryOSInfo-posix.cpp \
519
r3/posix/alloc-posix.cpp \
589
r3/posix/RTSystemQueryTotalRam-posix.cpp \
590
r3/posix/RTTimeNow-posix.cpp \
591
r3/posix/RTTimeSet-posix.cpp \
592
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
520
593
r3/posix/dir-posix.cpp \
521
594
r3/posix/env-posix.cpp \
522
595
r3/posix/fileio-posix.cpp \
596
r3/posix/fileio2-posix.cpp \
523
597
r3/posix/filelock-posix.cpp \
524
598
r3/posix/fs-posix.cpp \
599
r3/posix/fs2-posix.cpp \
600
r3/posix/fs3-posix.cpp \
525
601
r3/posix/ldrNative-posix.cpp \
526
602
r3/posix/path-posix.cpp \
603
r3/posix/path2-posix.cpp \
527
604
r3/posix/pathhost-posix.cpp \
528
605
r3/posix/pipe-posix.cpp \
529
606
r3/posix/poll-posix.cpp \
530
607
r3/posix/process-posix.cpp \
608
r3/posix/process-creation-posix.cpp \
531
609
r3/posix/rand-posix.cpp \
532
r3/posix/RTTimeNow-posix.cpp \
533
r3/posix/RTTimeSet-posix.cpp \
534
610
r3/posix/semrw-posix.cpp \
611
r3/posix/symlink-posix.cpp \
535
612
r3/posix/thread-posix.cpp \
536
613
r3/posix/timelocal-posix.cpp \
537
614
r3/posix/timer-posix.cpp \
595
672
r3/os2/thread-os2.cpp \
596
673
r3/os2/time-os2.cpp \
597
674
r3/posix/RTFileQueryFsSizes-posix.cpp \
675
r3/posix/RTHandleGetStandard-posix.cpp \
676
r3/posix/RTMemProtect-posix.cpp \
677
r3/posix/RTPathUserHome-posix.cpp \
598
678
r3/posix/RTSystemQueryOSInfo-posix.cpp \
599
r3/posix/alloc-posix.cpp \
679
r3/posix/RTTimeNow-posix.cpp \
680
r3/posix/RTTimeSet-posix.cpp \
681
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
600
682
r3/posix/dir-posix.cpp \
601
683
r3/posix/env-posix.cpp \
602
684
r3/posix/fileio-posix.cpp \
685
r3/posix/fileio2-posix.cpp \
603
686
r3/posix/fs-posix.cpp \
687
r3/posix/fs2-posix.cpp \
688
r3/posix/fs3-posix.cpp \
604
689
r3/posix/ldrNative-posix.cpp \
605
690
r3/posix/path-posix.cpp \
691
r3/posix/path2-posix.cpp \
606
692
r3/posix/pathhost-posix.cpp \
607
693
r3/posix/process-posix.cpp \
608
r3/posix/RTTimeNow-posix.cpp \
609
r3/posix/RTTimeSet-posix.cpp \
694
r3/posix/process-creation-posix.cpp \
695
r3/posix/symlink-posix.cpp \
610
696
r3/posix/timelocal-posix.cpp \
611
697
r3/posix/utf8-posix.cpp
624
710
generic/RTTimerCreate-generic.cpp \
625
711
generic/RTUuidCreate-generic.cpp \
626
712
generic/mppresent-generic.cpp \
713
generic/RTSemEventMultiWait-2-ex-generic.cpp \
714
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
627
715
generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
628
716
generic/timer-generic.cpp \
629
717
generic/utf16locale-generic.cpp \
630
718
generic/uuid-generic.cpp\
631
719
generic/RTProcIsRunningByName-generic.cpp \
632
720
generic/RTThreadGetNativeState-generic.cpp \
633
r3/darwin/alloc-darwin.cpp \
634
721
r3/darwin/filelock-darwin.cpp \
635
722
r3/darwin/mp-darwin.cpp \
636
723
r3/darwin/pathhost-darwin.cpp \
639
726
r3/darwin/sched-darwin.cpp \
640
727
r3/darwin/time-darwin.cpp \
641
728
r3/posix/RTFileQueryFsSizes-posix.cpp \
729
r3/posix/RTHandleGetStandard-posix.cpp \
730
r3/posix/RTMemProtect-posix.cpp \
731
r3/posix/RTPathUserHome-posix.cpp \
642
732
r3/posix/RTSystemQueryOSInfo-posix.cpp \
733
r3/posix/RTSystemQueryTotalRam-posix.cpp \
643
734
r3/posix/RTTimeSet-posix.cpp \
644
735
r3/posix/dir-posix.cpp \
645
736
r3/posix/env-posix.cpp \
646
737
r3/posix/fileio-posix.cpp \
738
r3/posix/fileio2-posix.cpp \
647
739
r3/posix/fs-posix.cpp \
740
r3/posix/fs2-posix.cpp \
741
r3/posix/fs3-posix.cpp \
648
742
r3/posix/ldrNative-posix.cpp \
743
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
649
744
r3/posix/path-posix.cpp \
745
r3/posix/path2-posix.cpp \
650
746
r3/posix/pipe-posix.cpp \
651
747
r3/posix/poll-posix.cpp \
652
748
r3/posix/process-posix.cpp \
749
r3/posix/process-creation-posix.cpp \
653
750
r3/posix/rand-posix.cpp \
654
751
r3/posix/semevent-posix.cpp \
655
752
r3/posix/semeventmulti-posix.cpp \
656
753
r3/posix/semmutex-posix.cpp \
754
r3/posix/symlink-posix.cpp \
657
755
r3/posix/thread-posix.cpp \
658
756
r3/posix/timelocal-posix.cpp \
659
757
r3/posix/tls-posix.cpp \
665
763
generic/RTDirSetTimes-generic.cpp \
666
764
generic/RTFileMove-generic.cpp \
667
765
generic/RTLogWriteDebugger-generic.cpp \
766
generic/RTSemEventMultiWait-2-ex-generic.cpp \
767
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
668
768
generic/RTSystemQueryDmiString-generic.cpp \
669
769
generic/RTTimeLocalNow-generic.cpp \
670
770
generic/RTTimerCreate-generic.cpp \
674
774
generic/utf16locale-generic.cpp \
675
775
generic/uuid-generic.cpp \
676
776
generic/RTMpCpuId-generic.cpp \
677
generic/RTMpCpuIdFromSetIndex-generic.cpp \
678
generic/RTMpCpuIdToSetIndex-generic.cpp \
679
generic/RTMpIsCpuPossible-generic.cpp \
680
generic/RTMpGetMaxCpuId-generic.cpp \
681
generic/RTMpGetOnlineSet-generic.cpp \
682
generic/RTMpGetSet-generic.cpp \
683
generic/RTMpIsCpuOnline-generic.cpp \
684
777
generic/RTProcDaemonize-generic.cpp \
685
778
generic/RTProcIsRunningByName-generic.cpp \
686
779
generic/RTThreadGetNativeState-generic.cpp \
687
780
r3/freebsd/mp-freebsd.cpp \
688
r3/freebsd/alloc-freebsd.cpp \
689
781
r3/freebsd/rtProcInitExePath-freebsd.cpp \
690
782
r3/posix/RTFileQueryFsSizes-posix.cpp \
783
r3/posix/RTHandleGetStandard-posix.cpp \
784
r3/posix/RTMemProtect-posix.cpp \
785
r3/posix/RTPathUserHome-posix.cpp \
691
786
r3/posix/RTSystemQueryOSInfo-posix.cpp \
787
r3/posix/RTSystemQueryTotalRam-posix.cpp \
788
r3/posix/RTTimeNow-posix.cpp \
789
r3/posix/RTTimeSet-posix.cpp \
692
790
r3/posix/dir-posix.cpp \
693
791
r3/posix/env-posix.cpp \
694
792
r3/posix/fileio-posix.cpp \
793
r3/posix/fileio2-posix.cpp \
695
794
r3/posix/filelock-posix.cpp \
696
795
r3/posix/fs-posix.cpp \
796
r3/posix/fs2-posix.cpp \
797
r3/posix/fs3-posix.cpp \
697
798
r3/posix/ldrNative-posix.cpp \
799
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
698
800
r3/posix/path-posix.cpp \
801
r3/posix/path2-posix.cpp \
699
802
r3/posix/pathhost-posix.cpp \
700
803
r3/posix/pipe-posix.cpp \
701
804
r3/posix/poll-posix.cpp \
702
805
r3/posix/process-posix.cpp \
806
r3/posix/process-creation-posix.cpp \
703
807
r3/posix/rand-posix.cpp \
704
r3/posix/RTMpGetCount-posix.cpp \
705
r3/posix/RTTimeNow-posix.cpp \
706
r3/posix/RTTimeSet-posix.cpp \
707
808
r3/posix/semevent-posix.cpp \
708
809
r3/posix/semeventmulti-posix.cpp \
709
810
r3/posix/semmutex-posix.cpp \
710
811
r3/posix/semrw-posix.cpp \
812
r3/posix/symlink-posix.cpp \
711
813
r3/posix/thread-posix.cpp \
712
814
r3/posix/time-posix.cpp \
713
815
r3/posix/timelocal-posix.cpp \
722
824
generic/RTLogWriteDebugger-generic.cpp \
723
825
generic/RTProcDaemonize-generic.cpp \
724
826
generic/RTProcIsRunningByName-generic.cpp \
827
generic/RTSemEventMultiWait-2-ex-generic.cpp \
828
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
725
829
generic/RTTimeLocalNow-generic.cpp \
726
830
generic/RTTimerCreate-generic.cpp \
727
831
generic/RTUuidCreate-generic.cpp \
730
834
generic/uuid-generic.cpp \
731
835
generic/RTThreadGetNativeState-generic.cpp \
732
836
r3/posix/RTFileQueryFsSizes-posix.cpp \
837
r3/posix/RTHandleGetStandard-posix.cpp \
838
r3/posix/RTMemProtect-posix.cpp \
839
r3/posix/RTPathUserHome-posix.cpp \
733
840
r3/posix/RTSystemQueryOSInfo-posix.cpp \
841
r3/posix/RTSystemQueryTotalRam-posix.cpp \
842
r3/posix/RTTimeNow-posix.cpp \
843
r3/posix/RTTimeSet-posix.cpp \
734
844
r3/posix/dir-posix.cpp \
735
845
r3/posix/env-posix.cpp \
736
846
r3/posix/fileio-posix.cpp \
847
r3/posix/fileio2-posix.cpp \
737
848
r3/posix/filelock-posix.cpp \
738
849
r3/posix/fs-posix.cpp \
850
r3/posix/fs2-posix.cpp \
851
r3/posix/fs3-posix.cpp \
739
852
r3/posix/ldrNative-posix.cpp \
853
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
740
854
r3/posix/path-posix.cpp \
855
r3/posix/path2-posix.cpp \
741
856
r3/posix/pathhost-posix.cpp \
742
857
r3/posix/pipe-posix.cpp \
743
858
r3/posix/poll-posix.cpp \
744
859
r3/posix/process-posix.cpp \
860
r3/posix/process-creation-posix.cpp \
745
861
r3/posix/rand-posix.cpp \
746
r3/posix/RTTimeNow-posix.cpp \
747
r3/posix/RTTimeSet-posix.cpp \
748
862
r3/posix/semevent-posix.cpp \
749
863
r3/posix/semeventmulti-posix.cpp \
750
864
r3/posix/semmutex-posix.cpp \
751
865
r3/posix/semrw-posix.cpp \
866
r3/posix/symlink-posix.cpp \
752
867
r3/posix/thread-posix.cpp \
753
868
r3/posix/time-posix.cpp \
754
869
r3/posix/timelocal-posix.cpp \
755
870
r3/posix/timer-posix.cpp \
756
871
r3/posix/tls-posix.cpp \
757
872
r3/posix/utf8-posix.cpp \
758
r3/solaris/alloc-solaris.cpp \
759
873
r3/solaris/mp-solaris.cpp \
760
r3/solaris/coredumper-solaris.cpp \
761
874
r3/solaris/rtProcInitExePath-solaris.cpp
762
875
RuntimeR3_SOURCES.solaris.amd64 = \
876
r3/solaris/coredumper-solaris.cpp \
763
877
r3/solaris/RTSystemQueryDmiString-solaris.cpp
764
878
RuntimeR3_SOURCES.solaris.x86 = \
879
r3/solaris/coredumper-solaris.cpp \
765
880
r3/solaris/RTSystemQueryDmiString-solaris.cpp
766
881
RuntimeR3_SOURCES.solaris.sparc32 = \
767
882
generic/RTSystemQueryDmiString-generic.cpp
814
929
l4/timer-l4env.cpp \
815
930
l4/utf8-l4env.cpp \
816
931
r3/posix/RTFileQueryFsSizes-posix.cpp \
817
r3/posix/alloc-posix.cpp \
932
r3/posix/RTMemProtect-posix.cpp \
933
r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
934
r3/posix/RTPathUserHome-posix.cpp \
935
r3/posix/RTTimeNow-posix.cpp \
936
r3/posix/RTTimeSet-posix.cpp \
818
937
r3/posix/dir-posix.cpp \
819
938
r3/posix/env-posix.cpp \
820
939
r3/posix/fileio-posix.cpp \
940
r3/posix/fileio2-posix.cpp \
821
941
r3/posix/filelock-posix.cpp \
822
942
r3/posix/ldrNative-posix.cpp \
823
943
r3/posix/path-posix.cpp \
944
r3/posix/path2-posix.cpp \
824
945
r3/posix/rand-posix.cpp \
825
r3/posix/RTTimeNow-posix.cpp \
826
r3/posix/RTTimeSet-posix.cpp \
827
946
r3/posix/time-posix.cpp \
828
947
r3/posix/timelocal-posix.cpp
951
# RuntimeBldProg - Static Runtime for build programs.
953
# Note! This is a bit of hacky since kBuild doesn't support building libraries
954
# for build programs.
956
RuntimeBldProg_TEMPLATE := VBOXBLDPROG
957
RuntimeBldProg_EXTENDS := RuntimeR3
958
RuntimeBldProg_BLD_TRG := $(KBUILD_HOST)
959
RuntimeBldProg_BLD_TRG_ARCH := $(KBUILD_HOST_ARCH)
960
RuntimeBldProg_BLD_TRG_CPU := $(KBUILD_HOST_CPU)
832
964
# RuntimeGuestR3 - Guest Additions Runtime (static/exe).
833
965
# (The KBUILD_HOST inheritance here is for l4 cross building the linux
834
966
# additions, while .x86 is for cross building x86 while targeting amd64.)
854
988
RuntimeGuestR3_SOURCES.$(KBUILD_TARGET) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
855
989
RuntimeGuestR3_SOURCES.$(KBUILD_HOST) := $(RuntimeR3_SOURCES.$(KBUILD_HOST))
856
990
RuntimeGuestR3_SOURCES.$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET_ARCH))
991
RuntimeGuestR3_SOURCES.x86 := $(RuntimeR3_SOURCES.x86)
992
RuntimeGuestR3_SOURCES.amd64 := $(RuntimeR3_SOURCES.amd64)
857
993
RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
994
RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).x86 := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).x86)
995
RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).amd64:= $(RuntimeR3_SOURCES.$(KBUILD_TARGET).amd64)
858
996
RuntimeGuestR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH))
1000
# RuntimeGuestR3-x86 - Same as RuntimeGuestR3, except that it's targeting x86.
1002
RuntimeGuestR3-x86_EXTENDS := RuntimeGuestR3
1003
RuntimeGuestR3-x86_BLD_TRG_ARCH := x86
862
1007
# RuntimeGuestR3Shared - Guest Additions Runtime (static/dll).
864
1009
RuntimeGuestR3Shared_TEMPLATE := VBOXGUESTR3DLL
1015
# RuntimeGuestR3Shared-x86 - Same as RuntimeGuestR3Shared, except that it's targeting x86.
1017
RuntimeGuestR3Shared-x86_EXTENDS := RuntimeGuestR3Shared
1018
RuntimeGuestR3Shared-x86_BLD_TRG_ARCH := x86
870
1022
# RuntimeGuestR3Mini - Minimal Guest Additions Runtime which does not require
871
1023
# initialization and can be linked into an .so. Intended
872
1024
# for X11 drivers, GRADD and similar.
875
1027
## @todo change this to EXTEND the RuntimeGuestR3 target.
876
1028
RuntimeGuestR3Mini_INST := $(INST_ADDITIONS_LIB)
877
1029
RuntimeGuestR3Mini_SDKS.win := $(RuntimeR3_SDKS.win)
878
RuntimeGuestR3Mini_DEFS := $(filter-out RTCRITSECT_STRICT RT_NO_GIP RT_WITH_ICONV_CACHE, $(RuntimeR3_DEFS)) RT_MINI
1030
RuntimeGuestR3Mini_DEFS := \
1031
$(filter-out RTCRITSECT_STRICT RT_NO_GIP RT_WITH_ICONV_CACHE, $(RuntimeR3_DEFS)) \
879
1033
RuntimeGuestR3Mini_DEFS.$(KBUILD_TARGET) := $(RuntimeR3_DEFS.$(KBUILD_TARGET))
880
1034
RuntimeGuestR3Mini_DEFS.$(KBUILD_HOST) := $(RuntimeR3_DEFS.$(KBUILD_HOST))
881
1035
RuntimeGuestR3Mini_INCS := $(RuntimeR3_INCS)
903
1057
common/path/RTPathAbsEx.cpp \
904
1058
common/path/RTPathAbsExDup.cpp \
905
1059
common/path/RTPathAppend.cpp \
1060
common/path/RTPathAppendEx.cpp \
906
1061
common/path/RTPathExt.cpp \
907
1062
common/path/RTPathFilename.cpp \
908
1063
common/path/RTPathHaveExt.cpp \
909
1064
common/path/RTPathHavePath.cpp \
910
1065
common/path/RTPathJoin.cpp \
1066
common/path/RTPathJoinA.cpp \
911
1067
common/path/RTPathParse.cpp \
912
1068
common/path/RTPathRealDup.cpp \
913
1069
common/path/RTPathStripExt.cpp \
914
1070
common/path/RTPathStripFilename.cpp \
915
1071
common/path/RTPathStripTrailingSlash.cpp \
1072
common/string/RTStrCat.cpp \
1073
common/string/RTStrCatEx.cpp \
916
1074
common/string/RTStrCmp.cpp \
917
1075
common/string/RTStrCopy.cpp \
918
1076
common/string/RTStrCopyEx.cpp \
922
1080
common/string/RTStrStr.cpp \
923
1081
common/string/straprintf.cpp \
924
1082
common/string/strformat.cpp \
1083
common/string/strformatnum.cpp \
925
1084
common/string/strformatrt.cpp \
926
1085
common/string/strformattype.cpp \
927
1086
common/string/stringalloc.cpp \
941
1101
RuntimeGuestR3Mini_SOURCES.freebsd = \
942
r3/posix/alloc-posix.cpp \
1102
r3/posix/RTMemProtect-posix.cpp \
1103
r3/posix/rtmempage-exec-mmap-posix.cpp \
1104
r3/posix/RTPathUserHome-posix.cpp \
943
1105
r3/posix/env-posix.cpp \
944
1106
r3/posix/fileio-posix.cpp \
1107
r3/posix/fileio2-posix.cpp \
945
1108
r3/posix/path-posix.cpp \
1109
r3/posix/path2-posix.cpp \
946
1110
r3/posix/utf8-posix.cpp
947
1111
RuntimeGuestR3Mini_SOURCES.linux = \
948
r3/posix/alloc-posix.cpp \
1112
r3/posix/RTMemProtect-posix.cpp \
1113
r3/posix/rtmempage-exec-mmap-posix.cpp \
1114
r3/posix/RTPathUserHome-posix.cpp \
949
1115
r3/posix/env-posix.cpp \
950
1116
r3/posix/fileio-posix.cpp \
1117
r3/posix/fileio2-posix.cpp \
951
1118
r3/posix/path-posix.cpp \
1119
r3/posix/path2-posix.cpp \
952
1120
r3/posix/utf8-posix.cpp
953
1121
RuntimeGuestR3Mini_SOURCES.solaris = \
954
r3/posix/alloc-posix.cpp \
1122
r3/posix/RTMemProtect-posix.cpp \
1123
r3/posix/rtmempage-exec-mmap-posix.cpp \
1124
r3/posix/RTPathUserHome-posix.cpp \
955
1125
r3/posix/env-posix.cpp \
956
1126
r3/posix/fileio-posix.cpp \
1127
r3/posix/fileio2-posix.cpp \
957
1128
r3/posix/path-posix.cpp \
1129
r3/posix/path2-posix.cpp \
958
1130
r3/posix/utf8-posix.cpp
959
1131
RuntimeGuestR3Mini_SOURCES.win = \
960
1132
r3/win/alloc-win.cpp \
990
1162
# VBoxRT - Shared Object / DLL version.
992
VBoxRT_TEMPLATE = VBoxR3Dll
1164
VBoxRT_TEMPLATE = VBoxR3DllNoPic
993
1165
VBoxRT_SDKS = VBOX_OPENSSL VBOX_LIBXML2 VBOX_BOOST
994
1166
ifdef VBOX_WITH_LIBCURL
995
1167
VBoxRT_SDKS += VBOX_LIBCURL
997
VBoxRT_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
1169
VBoxRT_SDKS.win = WINPSDK $(VBOX_WINDDK) VBOX_NTDLL
998
1170
if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win)
999
1171
VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE)
1005
1177
VBoxRT_DEFS.$(KBUILD_TYPE) = $(RuntimeR3_DEFS.$(KBUILD_TYPE))
1006
1178
VBoxRT_SOURCES = \
1007
1179
VBox/VBoxRTDeps.cpp \
1008
$(filter-out common/checksum/crc32.cpp, $(RuntimeR3_SOURCES))
1011
common/checksum/RTSha1Digest.cpp \
1012
common/checksum/crc32-zlib.cpp \
1013
common/checksum/manifest.cpp \
1014
common/checksum/sha1.cpp \
1015
common/checksum/sha1str.cpp \
1016
common/checksum/sha256.cpp \
1017
common/checksum/sha256str.cpp \
1018
common/checksum/sha512.cpp \
1019
common/checksum/sha512str.cpp
1181
$(filter-out common/checksum/crc32.cpp, $(RuntimeR3_SOURCES)) \
1182
common/checksum/crc32-zlib.cpp
1020
1183
ifdef VBOX_WITH_LIBCURL
1021
1184
VBoxRT_SOURCES += common/misc/s3.cpp
1070
1233
VBoxRT_LIBS.solaris = \
1072
1236
ifn1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)
1073
1237
# SMBIOS not available on Solaris SPARC.
1074
1238
VBoxRT_LIBS.solaris += smbios
1076
1240
VBoxRT_LIBS.win = \
1077
$(PATH_SDK_W2K3DDK_LIB)/vccomsup.lib \
1078
$(PATH_SDK_W2K3DDK_LIB)/wbemuuid.lib
1241
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/vccomsup.lib \
1242
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/wbemuuid.lib
1079
1243
VBoxRT_LDFLAGS.darwin = -framework IOKit -framework CoreFoundation -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxRT.dylib
1080
1244
ifdef VBOX_USE_VCC80
1081
1245
VBoxRT_LDFLAGS.win = /MANIFEST
1295
# VBoxRTImp - Import library/hack.
1297
ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
1298
$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def r3/win/VBoxRT-openssl-ose.def r3/win/VBoxRT-win64.def)
1299
else ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.x86)
1300
$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def r3/win/VBoxRT-openssl-ose.def r3/win/VBoxRT-win32.def)
1302
$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def r3/win/VBoxRT-openssl-ose.def)
1131
1307
# RuntimeR3NoCRTGCC - CRT replacement lib for VBoxREM.
1132
1308
# This is used together with VBoxRT.
1234
1410
common/misc/term.cpp \
1235
1411
common/string/strncmp.cpp \
1236
1412
common/string/strpbrk.cpp \
1413
common/string/RTStrCat.cpp \
1414
common/string/RTStrCatEx.cpp \
1415
common/string/RTStrCopy.cpp \
1416
common/string/RTStrCopyEx.cpp \
1417
common/string/RTStrNLen.cpp \
1418
common/string/RTStrNLenEx.cpp \
1237
1419
common/table/avlgcptr.cpp \
1238
1420
common/table/avlhcphys.cpp \
1239
1421
common/table/avllu32.cpp \
1254
1436
$(RuntimeNoCrt_SOURCES)
1256
ifneq ($(KBUILD_TARGET),win)
1257
RuntimeR0_SOURCES += \
1258
common/checksum/crc32.cpp \
1259
common/checksum/crc64.cpp \
1260
common/checksum/md5.cpp \
1261
common/checksum/ipv4.cpp \
1262
common/checksum/ipv6.cpp \
1263
common/misc/handletable.cpp \
1264
common/misc/handletablectx.cpp \
1265
common/misc/handletablesimple.cpp \
1266
common/string/strformat.cpp \
1267
common/string/strformatrt.cpp \
1268
common/string/strformattype.cpp \
1269
common/string/strprintf.cpp
1272
1438
if1of ($(KBUILD_TARGET), darwin solaris freebsd)
1273
1439
RuntimeR0_SOURCES += \
1274
1440
common/math/gcc/adddi3.c \
1320
1485
# RuntimeR0Drv - Ring-0 library for host drivers.
1322
1487
RuntimeR0Drv_TEMPLATE = VBOXR0DRV
1323
RuntimeR0Drv_SDKS.win = W2K3DDK WINPSDKINCS
1488
RuntimeR0Drv_SDKS.win = $(VBOX_WINDDK) WINPSDKINCS
1324
1489
RuntimeR0Drv_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS RT_NO_EXPORT_SYMBOL
1325
1490
RuntimeR0Drv_DEFS.win = IN_SUP_R0
1326
1491
RuntimeR0Drv_DEFS.linux = MODULE KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) IN_SUP_R0
1370
1535
common/path/RTPathAbsEx.cpp \
1371
1536
common/path/RTPathAbsExDup.cpp \
1372
1537
common/path/RTPathAppend.cpp \
1538
common/path/RTPathAppendEx.cpp \
1373
1539
common/path/RTPathExt.cpp \
1374
1540
common/path/RTPathFilename.cpp \
1375
1541
common/path/RTPathHaveExt.cpp \
1382
1548
common/rand/rand.cpp \
1383
1549
common/rand/randadv.cpp \
1384
1550
common/rand/randparkmiller.cpp \
1551
common/string/RTStrCat.cpp \
1552
common/string/RTStrCatEx.cpp \
1385
1553
common/string/RTStrCmp.cpp \
1386
1554
common/string/RTStrCopy.cpp \
1387
1555
common/string/RTStrCopyEx.cpp \
1389
1557
common/string/RTStrNLen.cpp \
1390
1558
common/string/RTStrNLenEx.cpp \
1391
1559
common/string/strformat.cpp \
1560
common/string/strformatnum.cpp \
1392
1561
common/string/strformatrt.cpp \
1393
1562
common/string/strformattype.cpp \
1394
1563
common/string/strprintf.cpp \
1397
1566
common/string/utf-16.cpp \
1398
1567
common/string/utf-8.cpp \
1399
1568
common/table/avlpv.cpp \
1569
common/time/time.cpp \
1400
1570
generic/RTLogWriteStdErr-stub-generic.cpp \
1401
1571
generic/RTLogWriteUser-generic.cpp \
1572
generic/RTMpGetArraySize-generic.cpp \
1402
1573
generic/RTRandAdvCreateSystemFaster-generic.cpp \
1574
generic/RTSemEventWait-2-ex-generic.cpp \
1575
generic/RTSemEventWaitNoResume-2-ex-generic.cpp \
1576
generic/RTSemEventMultiWait-2-ex-generic.cpp \
1577
generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1403
1578
generic/uuid-generic.cpp \
1404
1579
r0drv/alloc-r0drv.cpp \
1405
1580
r0drv/initterm-r0drv.cpp \
1481
1656
r0drv/nt/thread-r0drv-nt.cpp \
1482
1657
r0drv/nt/thread2-r0drv-nt.cpp \
1483
1658
r0drv/nt/time-r0drv-nt.cpp \
1484
r0drv/nt/timer-r0drv-nt.cpp
1659
r0drv/nt/timer-r0drv-nt.cpp \
1660
r0drv/nt/RTTimerGetSystemGranularity-r0drv-nt.cpp
1486
1662
RuntimeR0Drv_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
1487
1663
RuntimeR0Drv_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
1973
# The NTDLL mini import library.
1975
# Note! The reason for doing this is to avoid importing CRT symbols from the
1976
# NTDLL. We do not wish to do this because:
1977
# - Our compiler is usually a different one and we should use the
1979
# - Older versions of NTDLL may not sport all the exports our w2k3 or
1980
# later WINDDK ntdll.lib have and thus we may easily end up with
1981
# images that does not load on older windows versions.
1983
RuntimeR3NtDll-amd64_TEMPLATE = VBoxR3Dll
1984
RuntimeR3NtDll-amd64_BLD_TRG_ARCH = amd64
1985
RuntimeR3NtDll-amd64_ARFLAGS = /NODEFAULTLIB /MACHINE:amd64
1986
RuntimeR3NtDll-amd64_SOURCES = \
1987
r3/win/ntdll-mini-implib.c \
1988
r3/win/ntdll-mini-implib.def
1990
RuntimeR3NtDll-x86_EXTENDS = RuntimeR3NtDll-amd64
1991
RuntimeR3NtDll-x86_BLD_TRG_ARCH = x86
1992
RuntimeR3NtDll-x86_ARFLAGS = /NODEFAULTLIB /MACHINE:x86
1796
1996
# errmsg.cpp depends on a generated header.
1798
1998
common/err/errmsg.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
1807
2007
$(lib)_common/err/errmsgxpcom.cpp_INCS = $(IPRT_OUT_DIR)
1808
2008
$(lib)_common/err/errmsgxpcom.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgvboxcomdata.h
1810
$(foreach lib,RuntimeR3 VBoxRT RuntimeLnxHostR3,$(eval $(def_errmsgwin_deps)))
2010
$(foreach lib,RuntimeR3 RuntimeBldProg VBoxRT RuntimeLnxHostR3,$(eval $(def_errmsgwin_deps)))
1834
2034
$(VBOX_XIDL_FILE_SRC) \
1836
2036
$(call MSG_GENERATE,,$@,$(filter %.xidl,$^))
1837
$(VBOX_XSLTPROC) -o $@ $< $(filter %.xidl,$^)
2037
$(QUIET)$(VBOX_XSLTPROC) -o $@ $< $(filter %.xidl,$^)
1840
2040
if "$(KBUILD_TARGET)" == "freebsd"