You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by an...@apache.org on 2022/02/17 14:55:47 UTC

[mynewt-nimble] branch master updated: babblesim: Rework sdk package

This is an automated email from the ASF dual-hosted git repository.

andk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git


The following commit(s) were added to refs/heads/master by this push:
     new a63418c  babblesim: Rework sdk package
a63418c is described below

commit a63418cc12ce97780a3f4792aaeb5bec02d3dd45
Author: Andrzej Kaczmarek <an...@codecoup.pl>
AuthorDate: Thu Feb 17 07:02:44 2022 +0100

    babblesim: Rework sdk package
    
    This moves all external components to separate sdk package. We'll link
    both bsim components and nrfx there and setup include paths.
---
 babblesim/.gitignore                               |  3 --
 babblesim/core/pkg.yml                             |  9 ++----
 babblesim/hw/bsp/nrf52_bsim/pkg.yml                |  6 ++--
 babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml         |  2 +-
 babblesim/nrfx/pkg.yml                             | 37 ----------------------
 babblesim/sdk/.gitignore                           |  3 ++
 babblesim/{hw/babblesim => sdk}/pkg.yml            | 33 ++++++++++---------
 .../scripts/link_babblesim.sh}                     | 30 +++---------------
 babblesim/{nrfx => sdk}/scripts/link_nrfx.sh       |  5 +--
 9 files changed, 32 insertions(+), 96 deletions(-)

diff --git a/babblesim/.gitignore b/babblesim/.gitignore
deleted file mode 100644
index 78e34f1..0000000
--- a/babblesim/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-hw/babblesim/components
-hw/babblesim/src
-nrfx/src
\ No newline at end of file
diff --git a/babblesim/core/pkg.yml b/babblesim/core/pkg.yml
index 3b0c2e9..1a1ec76 100644
--- a/babblesim/core/pkg.yml
+++ b/babblesim/core/pkg.yml
@@ -18,20 +18,15 @@
 #
 
 pkg.name: babblesim/core
-pkg.type: sdk
 pkg.description: time machine, irq handeler, core
 pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
 pkg.homepage: "http://mynewt.apache.org/"
 pkg.keywords:
 
 pkg.deps:
-  - "@apache-mynewt-core/kernel/os"
-  - "@apache-mynewt-nimble/nimble/controller"
-  - "@apache-mynewt-nimble/nimble/transport"
-  - "babblesim/hw/babblesim"
+  - "babblesim/sdk"
 
-pkg.req_apis:
-  - ble_transport
+pkg.cflags: -std=gnu99
 
 pkg.init:
   bsim_start: 9999
diff --git a/babblesim/hw/bsp/nrf52_bsim/pkg.yml b/babblesim/hw/bsp/nrf52_bsim/pkg.yml
index 6662a76..e22e767 100644
--- a/babblesim/hw/bsp/nrf52_bsim/pkg.yml
+++ b/babblesim/hw/bsp/nrf52_bsim/pkg.yml
@@ -31,7 +31,7 @@ pkg.cflags.HARDFLOAT:
     - -mfloat-abi=hard -mfpu=fpv4-sp-d16
 
 pkg.deps:
-    - "@apache-mynewt-core/hw/drivers/uart/uart_hal"
-    - "babblesim/hw/mcu/nordic/nrf52_bsim"
-    - "babblesim/hw/babblesim"
     - "babblesim/core"
+    - "babblesim/hw/mcu/nordic/nrf52_bsim"
+    - "@apache-mynewt-core/hw/drivers/uart/uart_hal"
+    - "@apache-mynewt-nimble/nimble/controller"
diff --git a/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml b/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml
index 10069a2..99e59a2 100644
--- a/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml
+++ b/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml
@@ -26,7 +26,7 @@ pkg.lflags:
     - -lpthread
 
 pkg.deps:
-    - "babblesim/nrfx"
+    - "babblesim/core"
 
 pkg.deps.BLE_CONTROLLER:
     - "@apache-mynewt-nimble/nimble/drivers/nrf52"
diff --git a/babblesim/nrfx/pkg.yml b/babblesim/nrfx/pkg.yml
deleted file mode 100644
index 54a385e..0000000
--- a/babblesim/nrfx/pkg.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-pkg.name: babblesim/nrfx
-pkg.description: nrfx wrapper for BabbleSim
-pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
-pkg.homepage: "https://mynewt.apache.org/"
-pkg.type: sdk
-
-pkg.cflags: -std=gnu99
-pkg.include_dirs:
-    - src/
-    - src/drivers/
-    - src/hal/
-    - src/mdk/
-
-pkg.deps:
-    - "@apache-mynewt-core/hw/hal"
-
-pkg.pre_build_cmds:
-    scripts/link_nrfx.sh: 1
diff --git a/babblesim/sdk/.gitignore b/babblesim/sdk/.gitignore
new file mode 100644
index 0000000..b269fe6
--- /dev/null
+++ b/babblesim/sdk/.gitignore
@@ -0,0 +1,3 @@
+components
+nrfx
+src
\ No newline at end of file
diff --git a/babblesim/hw/babblesim/pkg.yml b/babblesim/sdk/pkg.yml
similarity index 74%
rename from babblesim/hw/babblesim/pkg.yml
rename to babblesim/sdk/pkg.yml
index ad28efb..a542a30 100644
--- a/babblesim/hw/babblesim/pkg.yml
+++ b/babblesim/sdk/pkg.yml
@@ -17,28 +17,31 @@
 # under the License.
 #
 
-pkg.name: babblesim/hw/babblesim
-pkg.description: BabbleSim stuff
+pkg.name: babblesim/sdk
+pkg.type: sdk
+pkg.description: External files required to build BabbleSim
 pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
-pkg.homepage: "http://mynewt.apache.org/"
+pkg.homepage: "https://mynewt.apache.org/"
 
-pkg.type: sdk
+pkg.cflags: -std=gnu99
 
 pkg.include_dirs:
-  - components/ext_NRF52_hw_models/src/nrfx/mdk_replacements
-  - components/ext_NRF52_hw_models/src/HW_models
   - components/ext_NRF52_hw_models/src/nrfx_config
   - components/ext_NRF52_hw_models/src/nrfx/nrfx_replacements
-  - components/libUtilv1/src/
-  - components/libPhyComv1/src/
-  - components/libRandv2/src/
-  - components/ext_libCryptov1/src/
-
-pkg.src_dirs:
-  - src
+  - components/ext_NRF52_hw_models/src/nrfx/mdk_replacements
+  - components/ext_NRF52_hw_models/src/HW_models
+  - components/libUtilv1/src
+  - components/libPhyComv1/src
+  - components/libRandv2/src
+  - components/ext_libCryptov1/src
+  - nrfx
+  - nrfx/drivers
+  - nrfx/hal
+  - nrfx/mdk
 
 pkg.pre_build_cmds:
-  scripts/pre_build1.sh: 1
+  scripts/link_babblesim.sh: 1
+  scripts/link_nrfx.sh: 2
 
 pkg.lflags:
-  - -ldl
\ No newline at end of file
+  - -ldl
diff --git a/babblesim/hw/babblesim/scripts/pre_build1.sh b/babblesim/sdk/scripts/link_babblesim.sh
similarity index 70%
rename from babblesim/hw/babblesim/scripts/pre_build1.sh
rename to babblesim/sdk/scripts/link_babblesim.sh
index 3f3fec5..9254a18 100755
--- a/babblesim/hw/babblesim/scripts/pre_build1.sh
+++ b/babblesim/sdk/scripts/link_babblesim.sh
@@ -34,36 +34,14 @@ if [ -z ${BSIM_OUT_PATH+x} ]; then
   exit 1
 fi
 
-if [[ -d "$(pwd)/components" ]]
-then
-    echo "Babblesim components: Directory exists. Removing and linking again..."
-    rm -r $(pwd)/components
-else
-    echo "Babblesim components: Linking components..."
-fi
-
-ln -nsf $BSIM_OUT_PATH/components
-
-if [[ -d "$(pwd)/src" ]]
-then
-    echo "Babblesim libraries src: Directory exists. Removing and linking again..."
-    rm -r $(pwd)/src
-else
-    echo "Babblesim components: Linking components..."
-fi
-
-mkdir -p src
-ln -nsf $BSIM_OUT_PATH/components
-
-# Create links to all .32.a files
-# find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec ln -t src -nsf {} \;
+ln -sfn "${BSIM_COMPONENTS_PATH}" ./components
 
-# Copy all .32.a files
-find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec cp -t src -f {} \;
+mkdir -p ./src/
+cp "${BSIM_OUT_PATH}"/lib/*.32.a ./src/
 
 # XXX: Workaround for bad linking by newt. Sometimes newt will link
 # nrf weak functions from nrf_hal_originals.o instead of their BabbleSim
 # replacements inside libNRF52_hw_models.32.a. But as long as the other
 # weak functions, that do not have their replacements, are not used,
 # we can just remove the file from the .a library here.
-ar d src/libNRF52_hw_models.32.a nrf_hal_originals.o
+ar d ./src/libNRF52_hw_models.32.a nrf_hal_originals.o
diff --git a/babblesim/nrfx/scripts/link_nrfx.sh b/babblesim/sdk/scripts/link_nrfx.sh
similarity index 89%
rename from babblesim/nrfx/scripts/link_nrfx.sh
rename to babblesim/sdk/scripts/link_nrfx.sh
index 2b59847..6bc894e 100755
--- a/babblesim/nrfx/scripts/link_nrfx.sh
+++ b/babblesim/sdk/scripts/link_nrfx.sh
@@ -18,7 +18,4 @@
 # under the License.
 #
 
-mkdir -p ./src/
-for f in nrfx.h drivers hal mdk; do
-    ln -sfn ${NRFX_BASE}/${f} ./src/${f}
-done
\ No newline at end of file
+ln -sfn ${NRFX_BASE} ./nrfx