Hi,

Thank you for the support.

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 forward with our requirement.

Thanks in advance.


Thanks & Regards,
Damodhar.
+91-7702191212



General

From: Neil Horman <nhor...@openssl.org>
Sent: Thursday, July 18, 2024 12:16 AM
To: Damodhar Boddukuri <damodhar.bodduk...@non.se.com>
Cc: openssl-users@openssl.org
Subject: Re: compile openssl for Arm A9 & VxWorks


[External email: Use caution with links and attachments]

________________________________


There are already several targets defined for vxworks.  First step I would 
think would be cloning one of those targets in Configurations/10-main.conf for 
your purposes and adjusting the settings accordingly:

"vxworks-ppc60x" => {        <= Change this to "vxworks-arm9' or some such
        inherit_from     => [ "BASE_unix" ],    <= Leave this alone I imagine
        CC               => "ccppc", <= set the appropriate compiler command 
here
        CFLAGS           => "-O2 -Wall -fstrength-reduce", <= For this and 
below, adjust as needed
        cflags           => "-mrtp -mhard-float -mstrict-align -fno-implicit-fp 
-fno-builtin -fno-strict-aliasing",
        cppflags         => combine("-D_REENTRANT -DPPC32_fp60x -DCPU=PPC32",
                                    "_DTOOL_FAMILY=gnu -DTOOL=gnu",
                                    "-I\$(WIND_BASE)/target/usr/h",
                                    "-I\$(WIND_BASE)/target/usr/h/wrn/coreip"),
        sys_id           => "VXWORKS", <= leave this alone
        lflags           => add("-L 
\$(WIND_BASE)/target/usr/lib/ppc/PPC32/common"), <= Set this to your vxworks 
library path
        ex_libs          => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"), <= 
Probably leave this alone too
    },

On Wed, Jul 17, 2024 at 12:42 PM Damodhar Boddukuri via openssl-users 
<openssl-users@openssl.org<mailto:openssl-users@openssl.org>> wrote:
Hi openSSL users,

I would like to port openssl for Arm A9 & VxWorks Target. If someone can share 
the details, Its really helpful for me.

Thanks in advance.


Thanks & Regards,
Damodhar.
+91-7702191212



General

Reply via email to