Skip to content

Instantly share code, notes, and snippets.

@TuvianNavy
Created August 4, 2020 16:32
Show Gist options
  • Select an option

  • Save TuvianNavy/eb1017919f9b4ee517105adb28f7a407 to your computer and use it in GitHub Desktop.

Select an option

Save TuvianNavy/eb1017919f9b4ee517105adb28f7a407 to your computer and use it in GitHub Desktop.
ubuntu@livazplus:~/Desktop/edk2/AppPkg/Applications/Duktape/src$ vi duk_config.h
ubuntu@livazplus:~/Desktop/edk2/AppPkg/Applications/Duktape/src$ rm -rf ../../../../Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/ ; build -p AppPkg/AppPkg.dsc -m AppPkg/Applications/Duktape/Duktape.inf
Build environment: Linux-5.3.0-62-generic-x86_64-with-Ubuntu-18.04-bionic
Build start time: 01:21:39, Aug.05 2020
WORKSPACE = /home/ubuntu/Desktop/edk2
EDK_TOOLS_PATH = /home/ubuntu/Desktop/edk2/BaseTools
CONF_PATH = /home/ubuntu/Desktop/edk2/Conf
PYTHON_COMMAND = /usr/bin/python3.6
Processing meta-data
.
Architecture(s) = X64
Build target = DEBUG
Toolchain = GCC5
Active Platform = /home/ubuntu/Desktop/edk2/AppPkg/AppPkg.dsc
Active Module = /home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/Duktape.inf
. done!
Generating code . done!
Generating makefile . done!
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Uefi/Devices/daShell.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Math/Math.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/ShellPkg/Library/UefiShellLib/UefiShellLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiLib/UefiLib.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Uefi/Devices/daConsole.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Wchar/Wchar.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Uefi/InteractiveIO/IIO.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Containers/ContainerLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/LibC.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Stdio/Stdio.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/StdLib/StdLib.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Signal/Signal.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/String/String.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Time/Time.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/BaseLib/BaseLib.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/BasePrintLib/BasePrintLib.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Uefi/Uefi.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Uefi/Devices/daUtility.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Locale/Locale.inf [X64]
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/PosixLib/Gen/LibGen.inf [X64]
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/Ctype/Ctype.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/StdLib/LibC/gdtoa/gdtoa.inf [X64]
make: Nothing to be done for 'tbuild'.
make: Nothing to be done for 'tbuild'.
Building ... /home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/Duktape.inf [X64]
"gcc-5" -MMD -MF /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/AutoGen.obj.deps -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=DuktapeStrings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -flto -DUSING_LTO -Os -Wno-error=implicit-function-declaration -nostdinc -nostdlib -DUEFI_C_SOURCE -c -o /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/./AutoGen.obj -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/examples/cmdline -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/src -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape -I/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG -I/home/ubuntu/Desktop/edk2/StdLib -I/home/ubuntu/Desktop/edk2/StdLib/Include -I/home/ubuntu/Desktop/edk2/StdLib/Include/X64 -I/home/ubuntu/Desktop/edk2/MdePkg -I/home/ubuntu/Desktop/edk2/MdePkg/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Test/UnitTest/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Include/X64 -I/home/ubuntu/Desktop/edk2/ShellPkg -I/home/ubuntu/Desktop/edk2/ShellPkg/Include /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/AutoGen.c
"gcc-5" -MMD -MF /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/examples/cmdline/duk_cmdline.obj.deps -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=DuktapeStrings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -flto -DUSING_LTO -Os -Wno-error=implicit-function-declaration -nostdinc -nostdlib -DUEFI_C_SOURCE -c -o /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/examples/cmdline/duk_cmdline.obj -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/examples/cmdline -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/src -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape -I/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG -I/home/ubuntu/Desktop/edk2/StdLib -I/home/ubuntu/Desktop/edk2/StdLib/Include -I/home/ubuntu/Desktop/edk2/StdLib/Include/X64 -I/home/ubuntu/Desktop/edk2/MdePkg -I/home/ubuntu/Desktop/edk2/MdePkg/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Test/UnitTest/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Include/X64 -I/home/ubuntu/Desktop/edk2/ShellPkg -I/home/ubuntu/Desktop/edk2/ShellPkg/Include /home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/examples/cmdline/duk_cmdline.c
"gcc-5" -MMD -MF /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/src/duktape.obj.deps -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=DuktapeStrings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -flto -DUSING_LTO -Os -Wno-error=implicit-function-declaration -nostdinc -nostdlib -DUEFI_C_SOURCE -c -o /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/src/duktape.obj -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/examples/cmdline -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/src -I/home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape -I/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG -I/home/ubuntu/Desktop/edk2/StdLib -I/home/ubuntu/Desktop/edk2/StdLib/Include -I/home/ubuntu/Desktop/edk2/StdLib/Include/X64 -I/home/ubuntu/Desktop/edk2/MdePkg -I/home/ubuntu/Desktop/edk2/MdePkg/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Test/UnitTest/Include -I/home/ubuntu/Desktop/edk2/MdePkg/Include/X64 -I/home/ubuntu/Desktop/edk2/ShellPkg -I/home/ubuntu/Desktop/edk2/ShellPkg/Include /home/ubuntu/Desktop/edk2/AppPkg/Applications/Duktape/src/duktape.c
rm -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/Duktape.lib
"gcc-ar" cr /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/Duktape.lib @/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/object_files.lst
"gcc-5" -o /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -Wl,--entry,_ModuleEntryPoint -u _ModuleEntryPoint -Wl,-Map,/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.map,--whole-archive -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie -flto -Os -Wl,--start-group,@/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/static_library_files.lst,--end-group -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=DuktapeStrings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -flto -DUSING_LTO -Os -Wno-error=implicit-function-declaration -nostdinc -nostdlib -DUEFI_C_SOURCE -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 -Wl,--script=/home/ubuntu/Desktop/edk2/BaseTools/Scripts/GccBase.lds -Wno-error
"objcopy" /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll
cp -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.debug
objcopy --strip-unneeded -R .eh_frame /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll
objcopy --add-gnu-debuglink=/home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.debug /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll
cp -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.debug /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/Duktape.debug
"GenFw" -e UEFI_APPLICATION -o /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/Duktape.efi /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/Duktape.dll
cp -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/Duktape.efi /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG
cp -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT/Duktape.efi /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/Duktape.efi
cp -f /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/DEBUG/*.map /home/ubuntu/Desktop/edk2/Build/AppPkg/DEBUG_GCC5/X64/AppPkg/Applications/Duktape/Duktape/OUTPUT
- Done -
Build end time: 01:21:57, Aug.05 2020
Build total time: 00:00:17
@TuvianNavy
Copy link
Author

TuvianNavy commented Aug 4, 2020

ubuntu@livazplus:~/Desktop/edk2/AppPkg/Applications/Duktape/src$ diff ../duktape-2.5.0/src/duk_config.h duk_config.h
72a73,77
> /* UEFI (edk2-libc) */
> #if defined(UEFI_C_SOURCE)
> #define DUK_F_UEFI
> #endif
>
738a744,746
> #elif defined(DUK_F_UEFI)
> #include <machine/endian.h>
> #include <stdint.h>
2327a2336,2343
> #elif defined(DUK_F_UEFI)
> #define DUK_F_USE_REPL_ALL
> #define DUK_CBRT             duk__cbrt
> #define DUK_TRUNC            duk__trunc
> #undef DUK_DOUBLE_NAN
> #define DUK_DOUBLE_NAN       (0.0 / 0.0)
> #undef DUK_USE_DATE_TZO_GMTIME_R
> #define DUK_USE_DATE_TZO_GMTIME

@TuvianNavy
Copy link
Author

TuvianNavy commented Aug 4, 2020

ubuntu@livazplus:~/Desktop/edk2/AppPkg/Applications/Duktape$ cat Duktape.inf
## @file
# Duktape.inf
#
#  UEFI port of the Duktape embeddable Javascript engine, duktape-2.5.0, released on 24 Nov 2019
#
##

[Defines]
  INF_VERSION    = 0x00010006
  BASE_NAME      = Duktape
  FILE_GUID      = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  MODULE_TYPE    = UEFI_APPLICATION
  VERSION_STRING = 0.1
  ENTRY_POINT    = ShellCEntryLib

[LibraryClasses]
  LibC
  LibStdio
  LibStdLib
  LibSignal
  LibString
  LibMath
  LibTime
  DevShell
  UefiLib
  ShellCEntryLib

[Sources]
 src/duk_config.h
 src/duktape.h
  src/duktape.c
 examples/cmdline/duk_cmdline.h
  examples/cmdline/duk_cmdline.c

[Packages]
  StdLib/StdLib.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[BuildOptions]
#   MSFT:*_*_*_CC_FLAGS   = /Oi- /wd4702
#  GCC:*_*_*_CC_FLAGS = -std=c99 -Wno-error=implicit-function-declaration
#  GCC:*_*_*_CC_FLAGS = -Wno-error=implicit-function-declaration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment