openSSL cross compilation for target "vxworks-armv7a" in Windows platform

Damodhar Boddukuri damodhar.boddukuri at non.se.com
Tue Jul 23 07:01:46 UTC 2024


Hi OpenSSL user,

I am trying to compile "openSSL cross compilation for target "vxworks-armv7a" in Windows platform":

The target compiler is ccarm.exe

Approach-1:
In Linux platform, Added the following target details in 10-main.conf file and ran the ./config <appropriate options>. It generated the configdata.pm, configdata.pm, Makefile.in, Makefile, include/openssl/configuration.h files for the target "vxworks-armv7a". When I run the make, it generating the required files with perl script, But its unable to invoke the compiler ccarm.exe because it's a .exe file.

When I move entire source-code to windows platform try to run the make, its giving errors in the perl script.


    "vxworks-armv7a" => {
        inherit_from     => [ "BASE_unix" ],
                             CC               => "ccarm",
        CFLAGS           => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
        cflags           => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
        cppflags         => combine('-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)/config/all -I$(TGT_DIR)/h -I$(WIND_HOME)/components/windml-5.3/h -I$(WIND_HOME)/components/webservices-1.8/h -I$(WIND_HOME)/components/webcli-4.9/target/h -I$(WIND_HOME)/components/tcf_agent-1.4/agent -I$(WIND_HOME)/components/stacktrace-1.0/include -I$(WIND_HOME)/components/opc-3.2/h -I$(WIND_HOME)/components/dcom-2.3/h -I$(WIND_HOME)/components/cafe-0.1/hpc/include -I$(WIND_HOME)/components/cafe-0.1/cafe/include -I$(WIND_HOME)/components/ip_net2-6.9/ipcom/config -I$(WIND_HOME)/components/cafe-0.1/vxworks/include -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/src -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/src -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/src -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/src -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/src -I$(WIND_HOME)/components/windml-5.3/osconfig/vxworks/h -I$(WIND_HOME)/components/tcf_agent-1.4/osconfig/vxworks/h -I$(WIND_HOME)/components/stacktrace-1.0/osconfig/vxworks/h -I$(WIND_HOME)/components/ip_net2-6.9/osconfig/vxworks/h -I$(WIND_HOME)/components/cafe-0.1/osconfig/vxworks/h -I$(TGT_DIR)/src/hwif -I$(TGT_DIR)/src/hwif/h -I $(TGT_DIR)/3rdparty/pbcl/h -I. -I$(TGT_DIR)/h/wrn/coreip -I$(TGT_DIR)/src/config -I$(TGT_DIR)/config/comps/src -I$(TGT_DIR)/config/comps/src/dosfs2 -I$(TGT_DIR)/src/drv -I$(TGT_DIR)/src/hwif/h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)'),
        sys_id           => "VXWORKS",
        lflags           => add('-L$(VSB_DIR)/arm/ARMARCH7/gnu_standard -L$(VSB_DIR)/arm/ARMARCH7/gnu -L$(VSB_DIR)/arm/ARMARCH7/common -L$(VSB_DIR)/arm/ARMARCH7/gnu -L$(VSB_DIR)/arm/ARMARCH7/common -L$(WS_ROOT_DIR)/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/gnu -L$(WS_ROOT_DIR)/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/common -L$(WIND_HOME)/components/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/gnu -L$(WIND_HOME)/components/obj/vxworks-6.9/krnl/lib_smp/arm/ARMARCH7/common'),
        ex_libs          => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
    },



Approach-2:
In windows platform, Added the following target details in 10-main.conf file and ran the ./config <appropriate options>. It generated the configdata.pm, configdata.pm, Makefile.in, Makefile, include/openssl/configuration.h files for the target "vxworks-armv7a". When I run the make, it generating the required files with perl script, Its invoking  the compiler ccarm.exe.

But its adding unwanted CFLAGS like "ccarm"  /Zi /Fdossl_static.pdb /MT /Zl. Also observed that it's trying to create .lib libraries, But wanted .a libraries.

              "vxworks-armv7a" => {
    inherit_from     => [ "VC-WIN64-common" ],
              CC               => "ccarm",
    CFLAGS           => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
    cflags           => '-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)',
    cppflags         => combine('-g -fno-builtin -t7 -mfpu=vfp -mfloat-abi=softfp -ansi -fno-zero-initialized-in-bss -Wall -I$(TGT_DIR)\config\all -I$(TGT_DIR)\h -I$(WIND_HOME)\components\windml-5.3\h -I$(WIND_HOME)\components\webservices-1.8\h -I$(WIND_HOME)\components\webcli-4.9\target\h -I$(WIND_HOME)\components\tcf_agent-1.4\agent -I$(WIND_HOME)\components\stacktrace-1.0\include -I$(WIND_HOME)\components\opc-3.2\h -I$(WIND_HOME)\components\dcom-2.3\h -I$(WIND_HOME)\components\cafe-0.1\hpc\include -I$(WIND_HOME)\components\cafe-0.1\cafe\include -I$(WIND_HOME)\components\ip_net2-6.9\ipcom\config -I$(WIND_HOME)\components\cafe-0.1\vxworks\include -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\src -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\src -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\src -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\src -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\src -I$(WIND_HOME)\components\windml-5.3\osconfig\vxworks\h -I$(WIND_HOME)\components\tcf_agent-1.4\osconfig\vxworks\h -I$(WIND_HOME)\components\stacktrace-1.0\osconfig\vxworks\h -I$(WIND_HOME)\components\ip_net2-6.9\osconfig\vxworks\h -I$(WIND_HOME)\components\cafe-0.1\osconfig\vxworks\h -I$(TGT_DIR)\src\hwif -I$(TGT_DIR)\src\hwif\h -I $(TGT_DIR)\3rdparty\pbcl\h -I. -I$(TGT_DIR)\h\wrn\coreip -I$(TGT_DIR)\src\config -I$(TGT_DIR)\config\comps\src -I$(TGT_DIR)\config\comps\src\dosfs2 -I$(TGT_DIR)\src\drv -I$(TGT_DIR)\src\hwif\h -DCPU=_VX_ARMARCH7 -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DARMEL -DCPU_CORTEXA8 -DARMMMU=ARMMMU_CORTEXA8 -DARMCACHE=ARMCACHE_CORTEXA8 -DIP_PORT_VXWORKS=69 -DINET -D_WRS_VX_SMP -D_VSB_CONFIG_FILE=\"$(VSB_CONFIG_FILE)\" -I$(VSB_INCLUDE_DIR)'),
    sys_id           => "VXWORKS",
    lflags           => add('-L$(VSB_DIR)\arm\ARMARCH7\gnu_standard -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(VSB_DIR)\arm\ARMARCH7\gnu -L$(VSB_DIR)\arm\ARMARCH7\common -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WS_ROOT_DIR)\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\gnu -L$(WIND_HOME)\components\obj\vxworks-6.9\krnl\lib_smp\arm\ARMARCH7\common'),
    ex_libs          => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
    },


Please suggest best way to go farward with our requirement.

Thanks in advance.



Thanks & Regards,
Damodhar.
+91-7702191212



General
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20240723/ef311891/attachment-0001.htm>


More information about the openssl-users mailing list