aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2010-05-06 13:16:07 -0700
committerYing Wang <wangying@google.com>2010-05-06 13:35:25 -0700
commit577964cbf911e655dd5d4918964b88926a03484f (patch)
treee3f6f3f98784756735c2c1ec6ad72921238fbeb8
parent97168b54aa9d793599ec95515296e9149bd920a0 (diff)
downloadwpa_supplicant-577964cbf911e655dd5d4918964b88926a03484f.tar.gz
Generate wpa_supplicant.conf on the fly from the template
Change-Id: I28e12b22c4ca5a37dfdb8ca4cd0c522aaafa8f0a http://b/issue?id=1800203
-rw-r--r--wpa_supplicant_conf.mk38
-rwxr-xr-xwpa_supplicant_conf.sh25
2 files changed, 63 insertions, 0 deletions
diff --git a/wpa_supplicant_conf.mk b/wpa_supplicant_conf.mk
new file mode 100644
index 0000000..7033487
--- /dev/null
+++ b/wpa_supplicant_conf.mk
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed 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.
+#
+
+# Include this makefile to generate your hardware specific wpa_supplicant.conf
+# Requires: WIFI_DRIVER_SOCKET_IFACE
+
+WPA_SUPPLICANT_STORED_LOCAL_PATH := $(LOCAL_PATH)
+LOCAL_PATH := $(call my-dir)
+
+########################
+
+WPA_SUPPLICANT_CONF_GENERATED := $(call intermediates-dir-for,ETC,wpa_supplicant.conf)/wpa_supplicant.conf
+WPA_SUPPLICANT_CONF_TEMPLATE := $(LOCAL_PATH)/wpa_supplicant.conf
+WPA_SUPPLICANT_CONF_SCRIPT := $(LOCAL_PATH)/wpa_supplicant_conf.sh
+$(WPA_SUPPLICANT_CONF_GENERATED): $(WPA_SUPPLICANT_CONF_TEMPLATE) $(WPA_SUPPLICANT_CONF_SCRIPT)
+ @echo Target wpa_supplicant.conf: $@
+ @mkdir -p $(dir $@)
+ $(hide) WIFI_DRIVER_SOCKET_IFACE="$(WIFI_DRIVER_SOCKET_IFACE)" \
+ bash $(WPA_SUPPLICANT_CONF_SCRIPT) $(WPA_SUPPLICANT_CONF_TEMPLATE) > $@
+
+PRODUCT_COPY_FILES += $(WPA_SUPPLICANT_CONF_GENERATED):system/etc/wifi/wpa_supplicant.conf
+
+########################
+
+LOCAL_PATH := $(WPA_SUPPLICANT_STORED_LOCAL_PATH)
diff --git a/wpa_supplicant_conf.sh b/wpa_supplicant_conf.sh
new file mode 100755
index 0000000..ec5e92f
--- /dev/null
+++ b/wpa_supplicant_conf.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed 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.
+#
+
+# Generate a wpa_supplicant.conf from the template.
+# $1: the template file name
+if [ -n "$WIFI_DRIVER_SOCKET_IFACE" ]
+then
+ sed -e 's/#.*$//' -e 's/[ \t]*$//' -e '/^$/d' < $1 | sed -e "s/wlan0/$WIFI_DRIVER_SOCKET_IFACE/"
+else
+ sed -e 's/#.*$//' -e 's/[ \t]*$//' -e '/^$/d' < $1
+fi